控件包含代码块(即 % ... %),因此无法修改控件集合。
第一種:
在使用主題的時候出現 控件包含代碼塊(即 <% ... %>),因此無法修改控件集合錯誤,原來錯誤的原因是:
控件包含代碼塊(即 <% ... %>),因此無法修改控件集合。 將這些代碼去掉,相應的功能在代碼中實現即可。
<%=.....%>
造成這個錯誤的原因是:在<head runat="server"></head>里面,使用了類似這樣的代碼,
把Head中使用的<%=.....%>的腳本放到body中,就OK了.
Source:http://www.cnblogs.com/mczhu/archive/2008/08/20/1272063.html
發現了自己的Main.Master中有:
<title>**管理系統</title>
<script src="<%=GetServerUri()%>Scripts/main.js" type="text/javascript" language="javascript"></script>
第二種:
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder" runat="server">
<script language="javascript" type="text/javascript">
??????????? function Button1_onclick() {
??????????????? var msg = document.getElementById('<%= this.lblMessage.ClientID %>');? // 就是這里錯誤? ,lblMessage?服務器端控件
??????????????? alert(msg.value);
??????????? }???????
? </script>?
“/”應用程序中的服務器錯誤。
控件包含代碼塊(即 <% ... %>),因此無法修改控件集合。
說明: 執行當前 Web 請求期間,出現未處理的異常。請檢查堆棧跟蹤信息,以了解有關該錯誤以及代碼中導致錯誤的出處的詳細信息。 異常詳細信息: System.Web.HttpException: 控件包含代碼塊(即 <% ... %>),因此無法修改控件集合。
在做項目偶爾遇見了這個小問題。反復查看腳本是否錯誤。最后做了個簡單例子,還是不可以,(我的是有master模板頁面的,而javascript是在其他page頁面)。開始在網上找。
大多數的解決放法
1,把Head標簽中的Runat=“server” 去掉,我試了又試還是不好用,
2,說吧javascript腳本放到body中,
javascript寫到了page頁面重,所有,上述方法沒有解決我出現的問題,
想了想以前的項目曾經用過,翻出來看吧。哦。原來是在用戶控件中,結果試一下。果真沒有問題了。
查看了一下錯誤信息及源碼,哦。原來問題是出現在我的javascript腳本放在用戶控件的時候在相當與放在?一個帶有runat="server"? 的代碼框中,
<div runat="server" id="div1">
?<script language="javascript" type="text/javascript">
??????????? function Button1_onclick() {
??????????????? var msg = document.getElementById('<%= this.lblContent.ClientID %>');? // 就是這里錯誤? ,lblContent服務器端控件
??????????????? alert(msg.value);
??????????? }???????
? </script>?
</div>?
一定要 在div中添加 runat="server" 當然你也可以用panel ,都可以解決問題
果然。錯誤消失了
補充一下:在我的界面中應用了ajax框架。我沒有測試是不是這的原因。
具體這個解決辦法可能不是太好,有好辦法大家一起來討論一下。
總結
以上是生活随笔為你收集整理的控件包含代码块(即 % ... %),因此无法修改控件集合。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么用js调用C#后台方法
- 下一篇: 华商银行和工行的关系