由回弹填充的下拉列表会在回发后重置

时间:2012-01-10 06:16:08

标签: c# javascript asp.net

我正在使用js函数在dropdownlist中添加项目。所有项目都添加得很完美,但是当我想在数据库中添加选定的值时,在点击按钮时,下拉列表会在回发时重置。

我该怎么办?

2 个答案:

答案 0 :(得分:3)

这些项目在回发时会丢失,因为它们是通过javascript添加到客户端的,并且在viewstate中不存在。

选项是添加<asp:hiddenfield />,并将一些javascript代码添加到下拉列表的onChange事件中,以将selectedvalue写入hiddenfield输入。然后在回发后可以访问该值。您仍然需要在回发后重新填充下拉列表。

示例:

<asp:HiddenField ID="DropDownValue" runat="server" />
<select onChange='document.getElementById("<%= DropDownValue.ClientID %>").value = this.value;'></select>

答案 1 :(得分:0)

我遇到了同样的问题,但我通过ajax获取了ddl的数据。在我的情况下,我使用与Page_Init(...)

中的每个回发在客户端上获得的相同数据填充DDL