我在页面上有两个ASP.NET dropdownlist控件。第一次调用回到服务器并获得一个数组,该数组返回给客户端并用于通过javascript填充第二个下拉列表。 但是,如果我在第二个(和新填充的)下拉列表中进行选择,然后执行回发,则第二个下拉列表的选择和内容将丢失。这是一个问题,因为我需要获取选定的值并在回发后保留列表的内容。ASP.NET - 丢失通过javascript填充下拉列表的选择
我该如何解决这个问题?我认为这是在回传之前的某个时候更新视图状态的问题?
我正在填充的控件是ASP.NET下拉列表。这里是我用来填充它们的JavaScript。
使用代码如下(略微削减为了简洁):
ASP.NET控制我填充:
< ASP:DropDownList的ID = “ddlStateCounty” RUNAT =“服务器“OnSelectedIndexChanged =” ddlStateCounty_OnSelectedIndexChanged”的AutoPostBack = “真”/ >,其获得逗号分隔值的列表
回拨代码:
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];
}
}
}
你可以添加你的aspx页面,JavaScript代码和代码隐藏(在3个独立的代码块会很好):) – 2009-01-06 12:10:47