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

原来我在网页中的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%>
大功告成

posted @ 2008-05-21 12:08  Ready!  阅读(807)  评论(0编辑  收藏  举报