데이터 바인딩 된 컨트롤의 값을 가져 오는 최선의 방법을 찾고 있습니다. 내 응용 프로그램이 현재 작동하는 방식 (일반적으로)은 페이지로드 중입니다. 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 개의 데이터베이스 호출을하지 않고 데이터를 얻을 수있는 방법이 있는가?
미리 감사드립니다.
내가 한 일을하고 싶습니다. 아내가 도움이되는지 검토하십시오. http://stackoverflow.com/q/11151806/1321748 –