当我在asp.net web应用程序中使用复选框runat="server"
时。那么浏览器就有问题了:
未捕获语法错误,无法识别表达式:[name = ctl00 ctl00 ContentPlaceHolder1美元FormPlaceHolder CrossFinancing美元)
ASP。. NET代码为:
<input type="checkbox" name="CrossFinancing" id="CrossFinancing" runat="server" />
生成的html代码为:
<input name="ctl00$ctl00$ContentPlaceHolder1$FormPlaceHolder$CrossFinancing" type="checkbox" id="ctl00_ctl00_ContentPlaceHolder1_FormPlaceHolder_CrossFinancing" />
这个名字有什么问题?这是由asp.net和浏览器不能正确解析,其他控件在名称和中有'$'这工作。
为什么不让ASP.net运行时为你生成复选框呢?
<asp:CheckBox id="chkCrossFinancing" runat="server"/>
name属性将由ASP.net运行时本身管理。