现在的位置: 首页 > 综合 > 正文

The Controls collection cannot be modified because the control contains code blocks

2012年03月14日 ⁄ 综合 ⁄ 共 782字 ⁄ 字号 评论关闭

原来我在网页中的client javascript ,使用了 <%=%>,如下


function
 setField() {   
  1.   var strUrl = "InvoiceDisplayFieldSetting.aspx?oid=<%=OID%>";   
  2.   window.showModalDialog(strUrl,"setField",   
  3.   "dialogWidth:400px;dialogHeight:630px;  
  4.   center:1;scroll:0;help:0;status:0;resizable=0");   
  5.   }  

在 html 中的不会有问题, 但使用了<head runat=”server”> 后, client side javacript 就不能使用
解法是override OnInit()
如下

 
  1. override protected void OnInit(EventArgs e)   
  2.   {   
  3.   
  4.   base.OnInit(e);   
  5.   Page.DataBind();   
  6.   }  

然后在 client side javacript ,改用 <%# OID%>
大功告成

【上篇】
【下篇】

抱歉!评论已关闭.