2009-02-22 96 views
0

我在頁面上有多個下拉列表。他們都包含國家名單。所以在後臺我從數據庫中獲取國家並緩存它們。我想填充從另一個線程下拉列表。 我也在使用AJAX控件,所以我希望這一切都發生在同一時間。而且在用戶選擇一個國家後,我希望來自該國家的城鎮向用戶展示,並且我希望在另一個線程中獲得城鎮,以便用戶可以在列表尚未加載時填寫其他控件。
我讀過的地方應該把Page作爲參數給那個線程,然後找到下拉列表並填充它們。但那不起作用。從ASP.NET中的另一個線程填充下拉列表

這裏是一個當另一個線程開始調用的函數:

protected void GetCountries(object o) 
{ 
    if (Session["Countries"] == null) 
    { 
     Session["Countries"] = CountryRepository.Instance.GetAll(); 
    } 
    if (o is Page) 
    { 
     Page p = (Page)o; 
     DropDownList ddl = (DropDownList)p.FindControl("ddlCountry"); 
     ddl.DataSource = Session["Countries"] as List<Country>; 
     ddl.DataTextField = "Name"; 
     ddl.DataValueField = "Id"; 
     ddl.DataBind(); 
    } 
} 

有人看到可能出現的問題?或者,也許我的整個概念是錯誤的?有沒有人有一個想法如何解決這個問題?

回答

相關問題