2009-02-22 98 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(); 
    } 
} 

有人看到可能出现的问题?或者,也许我的整个概念是错误的?有没有人有一个想法如何解决这个问题?

回答

相关问题