我正在开发一个指标屏幕,该屏幕将根据数据库中的不同组显示多个图表。它的一部分使用隐藏选定图表的功能,直到用户单击以显示它们。
问题是这样的:我在下拉列表中使用了 Databind,所以每次我选择一个新组时,页面都会刷新,并且所有内容都会返回到默认状态。
我的问题是:有没有一种方法可以避免每次从下拉列表中选择新选项时刷新页面?如果是这样,怎么做?如果没有,是否有更好的方法来创建下拉列表并为其附加值?如果我设置AppendDataBoundItems
为false
,那么我总是将所选值作为列表中的第一项。
这是我的下拉列表代码:
<asp:DropDownList ID="MinistryDropdown" OnSelectedIndexChanged="Selection_Change" AutoPostback="true" AppendDataBoundItems="true" runat="server"/>
然后它背后的C#代码是这样的:
public void Page_Load(object sender, EventArgs e){
MinistryDropdown.DataSource = CreateDataSource();
MinistryDropdown.DataTextField = "Description";
MinistryDropdown.DataValueField = "Description";
MinistryDropdown.DataBind();
...other code here...
}
ICollection CreateDataSource(){
DataTable Ministries = new DataTable();
Ministries = oDatabase.GetData(@"SELECT DISTINCT B.Description
FROM tblInvolvement AS A LEFT JOIN tblMinistries AS B
ON A.Activity = B.MinistryID");
DataView dv = new DataView(Ministries);
return dv;
}