客户端回发后Web页中的Repeater消失了?
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataList1.DataSource = CreateDataSet();
DataList1.DataBind();
Repeater1.DataSource = CreateRepeaterData();
Repeater1.DataBind();
}
}
当Web页刚创建时,DataList和Repeater中的数据都正常显示,但是当点击Web页中的其他控件后,
Repeater在Web页中消失了。这怎么解决呀?
------解决方案--------------------Repeater 是动态生成的吗??/
------解决方案--------------------呵呵那我也无能为力了
我也是新手
------解决方案--------------------if( !IsPostBack )造成的
------解决方案--------------------回发后要重新绑定数据
------解决方案--------------------你点击其他控件后也要再次绑定
DataList1.DataSource = CreateDataSet();
DataList1.DataBind();
Repeater1.DataSource = CreateRepeaterData();
Repeater1.DataBind();
------解决方案--------------------是去掉了页面的viewstate吧,不然会不用重新绑定的,除非你在点击Web页中的其他控件后重新绑定了空数据给Repeater1
------解决方案--------------------viewstate是保存状态了,如果去掉了,就不能保存Repeater1的状态,所以你postback回服务器后没重新加载数据进行绑定的话,Repeater1中的数据就会消失。
------解决方案--------------------viewstate默认是保存的,看下你是否设置了PAGE的EnableViewState= "false "
------解决方案--------------------把if (!IsPostBack)去掉
------解决方案--------------------把if (!IsPostBack)去掉
--------------------------
这样的话你每次postback回服务器都要重新加载数据。
你检查下你的aspx文件的第一行,看看
<%@ Page language= "c# " Codebehind= "Default.aspx.cs " EnableViewState= "false " EnableEventValidation= "false " Inherits= "MyeGlobal.Web._Default " %>
显示的设置下EnableViewState= "true " 看下行不行。
------解决方案--------------------将Repeater的EnableViewState设置为true
------解决方案--------------------当Web页刚创建时,DataList和Repeater中的数据都正常显示,但是当点击Web页中的其他控件后,Repeater在Web页中消失了。这怎么解决呀?
Repeater在Web页中消失了,但DataList的数据没有消失,说明不是ViewState的问题。
估计是Repeater里面的数据没有“放入”ViewState的原因。
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataList1.DataSource = CreateDataSet();
DataList1.DataBind();
}
Repeater1.DataSource = CreateRepeaterData();
Repeater1.DataBind();
}
------解决方案--------------------说了,估计是Repeater里面的数据没有“放入”ViewState的原因。也就是说,客户端的关于Repeater里面的数据没有提交到服务器端。所以不行。
------解决方案--------------------贴你的web.config或者machine.config,肯定是EnableViewState设置为false了