在早几天的工作中碰到了这个问题:
如果在select中添加runat=server就会报错:“HtmlSelect”不能有类型为“LiteralControl”的子级。
但是如果不添加runat=server,那么在后台就会找不到这个控件。
在网上搜了搜,用以下方法去解决这个问题:
在页面中放一个hidden,如果select改变后,把select的值赋给hidden。
--------------------------------------------------------------------------------------------------------------------------------------------
<input id="provinceHidden" type="hidden" name="provinceHidden" runat="server">
![](/Images/OutliningIndicators/None.gif)
<select id="province" onchange="window.document.Form1.provinceHidden.value=this.options[this.selectedIndex].value;" name="province">
<option value="Not set" selected>选择省份</option>
</select>
protected System.Web.UI.HtmlControls.HtmlInputHidden provinceHidden;