我在頁面上有兩個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