我有(1)下拉列表,(2)列表框,(1)页面上的按钮。
列表框开始为空,但是在下拉列表更改时通过jquery / ajax填充。
当我点击按钮时,它会导致回发,每次删除时,列表框中的内容(选项)都会被删除。
问题: 1)为什么会发生这种情况? 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来避免回发或仅在页面加载事件上加载值时才会回发。