问题描述
写了个方法,在按钮时间中调用没有问题,但是在LOAD事件中,调用的时候就没有反映!求大神给指点下!运行时,LOAD没有显示,点击按钮后就显示出来了!//数据绑定方法privatevoidBindGzt(){stringusercode=(string)Session["usercode"].ToString();stringgztyear=this.DropDownList1.SelectedValue.ToString();stringgztmonth=this.DropDownList2.SelectedValue.ToString();stringstrsql="select*fromgztwhereusercode='"+usercode+"'andgzt_yeah='"+gztyear+"'andgzt_month='"+gztmonth+"'";stringconnString=System.Web.Configuration.WebConfigurationManager.ConnectionStrings["gztConnectionString"].ConnectionString;SqlConnectionsqlcon=newSqlConnection(connString);sqlcon.Open();SqlDataAdaptersda=newSqlDataAdapter(strsql,sqlcon);DataSetds=newDataSet();sda.Fill(ds);RptYf.DataSource=ds;RptYf.DataBind();}
解决方案
解决方案二:
自己顶一下--!
解决方案三:
检查一下你的Page_Load是否写上了if(!IsPostback)判断。
解决方案四:
点击按钮属于回发,应该去掉if(!IsPostback)
解决方案五:
要加上回发判断才行
解决方案六:
if(!IsPostback)目测是这个的问题,去掉后,试试。
解决方案七:
回发时,必须判断if(!IsPostback),否则如果额外执行BindGzt()方法就会把RptYf重新覆盖掉了。一个正常的asp.net应用,在回发时是不会去重新读取数据库的,而是由asp.net自动从ViewState中重新恢复控件的复杂状态(此时并不是重读数据库内容去重新绑定控件)。如果你没有写上if(!IsPostback)判断,那么可能造成你的页面很慢、而且无法响应事件(往往在第二次点击按钮后页面显示的是第一次响应按钮之后的状态)。