ASP.Net中ListBox控件在客户端修改后,再提交会出错。(汗,没及时记录,忘了错是什么了)。
比如:一个ListBox控件,在服务器端没有设定任何Item,在客户端通过javascript增加其中的Item(ListBox在客户端就是Select了),就会出错。
如果把页面的EnableEventValidation设成"false",则服务器端又不能通过ListBox取得在客户端通过javascript增加的那些Item。
我目前的解决方法是:
1)把ListBox的各个Item的Text和Value设成相同的(这样只是为了减少网络流量,否则既要保存Text又要保存Value);
2)在页面上添加一个Hidden标记,用来记录ListBox中的各个Item(之间用逗号,分开)。这个值在页面提交之前赋值(通过客户端脚本取得ListBox的Items);
3)服务器端通过ListBox的ID获取用户选中的值:Request.Form["ListBoxID"];
4)通过那个Hidden标记的值(它的值也会Post回来,Request.Form["HiddenID"]可以取到),在后台再给ListBox设置Item。
这个会是.Net以后要改进的地方吗?
[@more@]来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/11445597/viewspace-981162/ ,如需转载,请注明出处,否则将追究法律责任。