我在試圖找到獲取數據綁定控件值的最佳做法。我的應用程序現在(通常)的工作方式是在頁面加載時調用getSettings()或其他方法,併爲每個DropDownLists或Repeater進行數據庫調用。在頁面加載時沒有數據庫調用綁定數據
在這個特殊場合,我根據點擊哪個按鈕將數據綁定到DropDownList。在數據顯示出來之前有一段延遲,當應用程序進入數據庫並獲取所需的信息時。
我想知道是否有更好的方法來處理獲取值,也許沒有每次頁面加載時進行數據庫調用。我已經包含了一些示例代碼以防萬一。
的.aspx:
<asp:DropDownList ID="ddl" runat="server"></asp:DropDownList>
<asp:Button ID="btn1" runat="server" OnCommand="btn_Command" CommandName="change" CommandArgument="table1" />
<asp:Button ID="btn2" runat="server" OnCommand="btn_Command" CommandName="change" CommandArgument="table2" />
<asp:Button ID="btn3" runat="server" OnCommand="btn_Command" CommandName="change" CommandArgument="table3" />
<asp:Button ID="btn4" runat="server" OnCommand="btn_Command" CommandName="change" CommandArgument="table4" />
代碼隱藏:
DBClass dbc = new DBClass();
protected void btn_Command (object sender, CommandEventArgs e){
if (e.CommandName == "change"){
ddl.DataSource = dbc.ExecuteQuery("SELECT * FROM " + e.CommandArgument);
ddl.DataTextField = "Text";
ddl.DataValueField = "Value";
ddl.DataBind();
}
}
有什麼辦法來緩存結果?我知道這是一個粗糙的,因爲它只有一個DropDownList,但即使每個按鈕都有一個,是否有某種方式可以在不進行4次數據庫調用的情況下獲取數據?
在此先感謝。
我想要做一些像你一樣的事情,請檢查一下這個wuestion和adn幫助我。 http://stackoverflow.com/q/11151806/1321748 – 2012-06-22 07:30:22