如何在回发后保留列表框中的选项?

时间:2012-11-21 17:37:54

标签: asp.net vb.net listbox postback

我有(1)下拉列表,(2)列表框,(1)页面上的按钮。

列表框开始为空,但是在下拉列表更改时通过jquery / ajax填充。

当我点击按钮时,它会导致回发,每次删除时,列表框中的内容(选项)都会被删除。

问题: 1)为什么会发生这种情况? 2)如何保持列表框的内容不被删除?没有选择列表框中的选项

2 个答案:

答案 0 :(得分:4)

asp.net引擎在服务器端创建的content/state of form controls are stored in view state。客户端上添加的元素无法在服务器端访问。 您可以将内容数据放在javascript的隐藏字段中,然后从隐藏字段中恢复服务器端的数据,并分配给控件,例如列表框,下拉列表等。This is how asp.net also works.

答案 1 :(得分:2)

这种情况发生的原因是,由于您使用AJAX添加值,因此它们不会添加到ViewState,这是asp.net用来保持表单状态的。您最好的选择可能是使用AJAX来避免回发或仅在页面加载事件上加载值时才会回发。