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();
}
}
有人看到可能出現的問題?或者,也許我的整個概念是錯誤的?有沒有人有一個想法如何解決這個問題?
+1,儘管我更喜歡爲這種數據提供客戶端和服務器緩存的解決方案。 – AnthonyWJones 2009-02-22 21:56:59