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