假如一个页面需要从文本框或者url来获取数据,然后用该数据作为参数去读数据库,也就是说,不管IsPostBack是什么状态,都需要重新获取数据源。
那么,当我没有获取外部数据的情况下,如何保存住上一次获取的数据呢?在Page_load中if (IsPostBack == true)
{
if (!String.IsNullOrEmpty(TextBox1.Text))
{
ViewState["Data"] = TextBox1.Text;
GetDataSource(ViewState["Data"].ToString());//用ViewState保存,并作为参数去获取数据
}
}如果,用户没有输入,TextBox1.Text就是""了,那么我如何保存住这个ViewState呢?(以上写法是错的)
那么,当我没有获取外部数据的情况下,如何保存住上一次获取的数据呢?在Page_load中if (IsPostBack == true)
{
if (!String.IsNullOrEmpty(TextBox1.Text))
{
ViewState["Data"] = TextBox1.Text;
GetDataSource(ViewState["Data"].ToString());//用ViewState保存,并作为参数去获取数据
}
}如果,用户没有输入,TextBox1.Text就是""了,那么我如何保存住这个ViewState呢?(以上写法是错的)
获取先判断 ViewState["Data"] 是不是空 难道不行?
if (Text1.Text != Stirng.Empty)
{
ViewState["Data"] = Text1.Text;
}if (ViewState["Data"] != null)
{
GetDataSource(ViewStat["Data"].ToString());
}这里的困惑就是GetDataSource方法放在什么位置的问题,如果放在if (Text1.Text != String.Empty)里面,就可能得不到数据源了。所以就放在外面了。