我对asp.net如何管理数据源
有疑问如果我在第一次加载页面时绑定国家/地区
之后,在每次回发事件后,它都不会获取数据
在这种情况下,下拉国家/地区数据源的页面上存储的数据
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
BindCountry();
}
}
private void BindCountry()
{
Business.CountryBAL objCountryBAL = new Business.CountryBAL();
DataSet ds = objCountryBAL.GetAllCountry();
drpCountry.DataTextField = "CountryName";
drpCountry.DataValueField = "CountryId";
drpCountry.DataSource = ds;
drpCountry.DataBind();
drpCountry.Items.Insert(0, new ListItem("--Select--", "0"));
}
答案 0 :(得分:2)
ASP.NET为此目的使用View State的概念:
ViewState
是ASP.NET页面框架用于在往返之间保留页面和控制值的方法。
页面的当前状态和回发期间必须保留的值被序列化为base64编码的字符串。默认情况下,视图状态数据存储在页面中的隐藏字段中,并使用base64编码进行编码。
ViewState在ASP.NET中扮演重要角色。 Viewstate是一组名称/值对,其中控件和页面本身存储Web请求中持久的信息。
您需要更好地了解Control Execution Lifecycle