我在一个页面上有两个 ASP.NET 下拉列表控件。第一个回调服务器并获得一个数组,该数组返回给客户端并用于通过 javascript 填充第二个下拉列表。但是,如果我在第二个(和新填充的)下拉列表中进行选择,然后进行回发,则第二个下拉列表的选择和内容将丢失。这是一个问题,因为我需要获取选定的值并在回发后保留列表的内容。
我该如何解决?我认为这是在回发之前的某个时间点更新视图状态的问题?
我正在填充的控件是 ASP.NET 下拉列表。这是我用来填充它们的javascript。
正在使用的代码如下(为简洁起见略有删减):
我正在填充的 ASP.NET 控件:
<asp:DropDownList ID="ddlStateCounty" runat="server" OnSelectedIndexChanged="ddlStateCounty_OnSelectedIndexChanged" AutoPostBack="true" />
获取逗号分隔值列表的回调代码:
public void RaiseCallbackEvent(string eventArgument)
{
return "1, 2, 3";
}
Javascript人口代码:
function ReceiveServerData(retValue)
{
var statesArray = retValue.split(',');
var statesList = document.getElementById('{0}');
if (statesArray.length > 0 && statesList != null)
{
for (var j = 0; j < statesArray.length; j++)
{
var newOption = document.createElement('OPTION');
statesList.options.add(newOption);
newOption.value = statesArray[j].toString().trim();
newOption.innerText = statesArray[j];
}
}
}