在客户端的下拉列表中添加一个项目,c# / ASP.NET
本文关键字:项目 一个 NET ASP 下拉列表 客户端 添加 | 更新日期: 2023-09-27 18:09:39
我需要添加一个项目到DropDownList客户端,之后我做了一些ajax调用。
如果我只是使用jquery的方法来添加项目到相关的选择,它被添加在那里,但当我后来选择这个新的(客户端添加的)项目在下拉菜单中,并做回发,有一个问题:
无效的回发或回调参数。在配置中使用<%@启用事件验证Page EnableEventValidation="true" %>在页面中。为了安全目的:此特性验证要回发或回调的参数事件起源于最初呈现的服务器控件他们。如果数据是有效且预期的,则使用ClientScriptManager。RegisterForEventValidation方法注册回发或回调数据进行验证。
我如何正确地修改下拉列表,所以新的条目都出现在列表上,如果我做回发与新项目选择,它的值将去服务器和进一步使用?
我可以推荐两种不同的策略。
-
将任何新项目添加到下拉列表服务器端,通过PostBack在服务器上调用方法将新项目添加到列表绑定的DataSet,然后重新绑定下拉列表
-
绕过ViewState,直接从提交回服务器的post值中从下拉列表中获取所选值,如下所示。在这种情况下,您不需要"往返"并在服务器端添加新项目。
selectedValue =请求。Form[-下拉列表id -].ToString();
你应该使用ASP UpdatePanel,否则你一定会遇到与ViewState不同的控件的麻烦。