ASP.NET 后台CS访问前台HTMLSELECT控件的值

在开发web页面时,有时我们会使用HTMLSELECT控件作为列表项的选择控件,有时还会在客户端使用JS方式修改其值(比如Ajax),但这种方式修改的值是无法在服务端CS代码中访问的,因为JS修改后的表单值没有同步更新到ASP.NET的VIEWSTATE隐藏域中,解决的办法如下:

1. 如果是只访问HTMLSELECT控件的选择的VALUE值,可以使用Request.Form["Select1"].ToString()来获取

2. 如果要同时访问VALUE和TEXT值,可以在表单添加隐藏域<asp:HiddenField>,在前台JS更新HTMLSELECT控件时同步更新此隐藏域的VALUE,然后后台CS即可获取隐藏域的VALUE。

想一想可能是MS的BUG吧,<asp:HiddenField>中JS更新的VALUE值,后台可以访问,<select runat="server">控件更新的值确无法在后台CS访问。

猜你喜欢

转载自whyabc.iteye.com/blog/2002743