【发布时间】:2012-11-21 17:37:54
【问题描述】:
我有 (1) 下拉列表,(2) 列表框,(1) 页面上的按钮。
列表框一开始是空的,但在下拉列表更改时通过 jquery/ajax 填充。
当我单击该按钮时,它会导致回发,并且每次执行时都会删除列表框中的内容(选项)。
问题: 1)为什么会发生这种情况? 2)我如何保持列表框的内容不被删除?没有选择列表框中的选项
【问题讨论】:
标签: asp.net vb.net listbox postback
我有 (1) 下拉列表,(2) 列表框,(1) 页面上的按钮。
列表框一开始是空的,但在下拉列表更改时通过 jquery/ajax 填充。
当我单击该按钮时,它会导致回发,并且每次执行时都会删除列表框中的内容(选项)。
问题: 1)为什么会发生这种情况? 2)我如何保持列表框的内容不被删除?没有选择列表框中的选项
【问题讨论】:
标签: asp.net vb.net listbox postback
由asp.net 引擎在服务器端创建的content/state of form controls are stored in view state。在客户端添加的元素将无法在服务器端访问。 您可以将内容数据放在javascript中的隐藏字段中,然后从隐藏字段中将数据返回到服务器端并分配给列表框,下拉列表等控件。This is how asp.net also works.
【讨论】:
这是因为由于您使用 AJAX 添加值,它们不会添加到 ViewState,这是 asp.net 用来保持表单状态的。您最好的选择可能是使用 AJAX 来避免回发或仅在回发时才加载页面加载事件中的值。
【讨论】: