日期:2014-05-19  浏览次数:20761 次

客户端回发后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了