这就是我正在做的事情:使用jquery,我在页面上弹出一个“表单”,让用户搜索公司的分支并选择他们想要的分支。当表单弹出时,他们可以输入一个文本框,它会将AJAX请求返回给服务器,以返回他们输入的前n个结果,这些结果将被放入列表中。我希望用户能够通过单击“选择”或其他内容的链接来选择一个,并且此时我希望它做一个PostBack有分支选择器控件,这是更改它的SelectedBranch属性到新选择科。我现在正在使用LinkButtons的硬编码列表,但是如何使用jquery插入的动态链接列表做同样的事情?
答案 0 :(得分:1)
查看为您的硬编码LinkButtons发出的HTML。你会看到每个人在点击时都会调用JavaScript __doPostBack函数。我相信这个函数有两个参数:一个控件ID和一个额外的命令参数,可以用于你自己的目的。
我建议在页面中添加一个控件,其唯一的工作是处理动态链接的事件。然后,当您使用jquery创建链接时,让每个调用__doPostBack,传递第一个参数的事件处理控件的ID和第二个参数的其他字符串,以标识单击了哪个链接。在处理控件的Click事件中,查看第二个参数值并执行您需要执行的操作。
答案 1 :(得分:0)
简短的回答是......你没有。
ASP.NET依赖于Viewstate来获取控件的当前状态,包括DropDownList或类似控件中的项。动态更新客户端上的列表不会修改视图状态,因此在后端不可用。
一般的解决方法是添加一个隐藏字段,通过客户端的js更新/存储当前选择。然后从后端的这个字段而不是List.SelectedValue。
中读取它