我正在制定一個指標屏幕,該屏幕將根據數據庫中的不同組顯示多個圖表。它的一部分使用隱藏選定圖表的功能,直到用戶單擊以顯示它們。避免刷新數據綁定下拉列表
問題是這樣的:我在下拉列表中使用了一個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;
}
如果您關心的頁面刷新,只是使用ajax。 – Xaisoft
我會試一試,謝謝。 – ijb109
我可能會離開商標,但問題是你沒有'if(!IsPostBack)'?這聽起來像你說的一切刷新,你不想要它,對吧? – zimdanen