在网上找的ASPxGrid都是DevExpress.ASPxGrid.Suite.v1.5.01.Full.Source.For.ASP.NET 这种源码扳.DevExpress的ASPxGRID已经更新到V2.0.1版了,装上看看果然和V1版多了很多改动.特别是在数据格式方面,还多了很多其它小控件,在GOOGLE查了一天,结果还是只有V2的Trial版,看着生成页面里红红的末注册信息,还是自己动手看看能不能搞定算了.
首先准备一个文件夹,在PATH里加上Framework和VS SDK的目录路径(我的是C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322 和 D:\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin), 在目录里用记事建立两个BAT文件,分别是完成解码和重新生成的两个BAT文件.
跟着在网上下载Reflector,打开DevExpress.Web.ASPxDataControls.dll (在 C:\Program Files\Common Files\DevExpress\ASP.NET 下)
V2版的所有信息都在这里面.经过查看代码,发现V2的末注册信息生成位置在 DevExpress.Web.ASPxDataControls 下的 Utils 类里的GetTrialScript()
用Disassembler打开看到代码如下
{
string text1 = "var trialNode = document.createElement('DIV');\n";
text1 = text1 + "document.body.insertBefore(trialNode, document.body.childNodes[0]);\n";
text1 = text1 + "trialNode.innerHTML = 'This application was created using the TRIAL version of the ASPxGrid and Editors Library.<br>';\n";
text1 = text1 + "trialNode.innerHTML += 'Visit <a href=\"http:\\www.devexpress.com\">www.devexpress.com</a> to obtain a licensed copy.';\n";
text1 = text1 + "trialNode.style.margin = 5;\n";
text1 = text1 + "trialNode.style.position = 'absolute';\n";
text1 = text1 + "trialNode.style.left = 0;\n";
text1 = text1 + "trialNode.style.top = 0;\n";
text1 = text1 + "trialNode.style.zIndex = 100000;\n";
text1 = text1 + "trialNode.style.font = 'messagebox';\n";
text1 = text1 + "trialNode.style.color = 'red';\n";
return Utils.MakeJavascript(text1);
}
调用在DevExpress.Web.ASPxDataControls 下的 ASPxWebControlBase 类里OnPreRender()的
用Disassembler打开看到代码如下
{
base.OnPreRender(e);
ScriptsRegistrator.RegisterTrialScripts(this.GetPage(), this.GetScriptFilesPath());
}
把DevExpress.Web.ASPxDataControls.dll复制到第一步建的文件夹里,运行解压的BAT后得到DevExpress.Web.ASPxDataControls.il,跟着用EDITPLUS打开.查找 OnPreRender ,
把OnPreRender里的代码
再用 生成的BAT生成新的DLL就可以使用了.(生成BAT里的StrongKey.snk在DevExpress.ASPxGrid.Suite.v1.5.01.Full.Source.For.ASP.NET 里有,你可以在网上找到)
除此之外,调用ASPxGridV2里弹出的对话框在
最后,好像是 .NET的CACHE在做怪.我昨晚明明改好了,但是在程序里怎么刷新都还是有末注册的信息出来.今天反安装了DevExpress.Web.ASPxGrid2,直接调用DevExpress.Web.ASPxDataControls.dll就没有任何注册信息出来了,周一再仔细的调试一下.看能不能做到完美,呵呵.