使用过DevExpress控件的大虾请进
最近试着使用DevExpress控件来编写web程序,发现它在某些方面确实比.net的本身的控件强大。
但在使用的过程中也出现了一些问题,以下问题,请大虾们指点一下。
我在用DevExpress改进一个模块的时候发现,原来的代码报错了。我在原来的页面中定义了一个
函数,如下:
<script language="JavaScript" type="text/JavaScript">
function DeleteRecord(DelMessage) {
if (confirm(DelMessage)) {
document.getElementById('<% =hfConfirmTime.ClientID %>').value = "1";
}
else {
document.getElementById('<% =hfConfirmTime.ClientID %>').value = "0";
}
document.getElementById("ibtGenerate").click();
}
</script>
在没有用DevExpress控件之前,是没有错的。
在加了DevExpress控件后,页面文件中添加了一些如下的代码:
<%@ Register assembly="DevExpress.Web.v10.1, Version=10.1.7.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" namespace="DevExpress.Web.ASPxTabControl" tagprefix="dx" %>
<%@ Register assembly="DevExpress.Web.ASPxEditors.v10.1, Version=10.1.7.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" namespace="DevExpress.Web.ASPxEditors" tagprefix="dx" %>
<%@ Register assembly="DevExpress.Web.v10.1, Version=10.1.7.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" namespace="DevExpress.Web.ASPxPager" tagprefix="dx" %>
<%@ Register assembly="DevExpress.Web.v10.1, Version=10.1.7.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" namespace="DevExpress.Web.ASPxClasses" tagprefix="dx" %>
此时,如果再运行这个页面时,IE就报如下错误:
控件包含代码块(即 <% ... %>),因此无法修改控件集合。
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息:
System.Web.HttpException: 控件包含代码块(即 <% ... %>),因此无法修改控件集合。
如果我去掉自定义函数中的<%... %>,打开页面就不报错了,但运行就不是原来的结果了。
请问这个问题该如何解决?
------解决方案--------------------用ClientScript.RegisterClientScriptBlock方法注册你的脚本块,免去在页面写“<% ... %>”