日期:2014-05-17  浏览次数:20468 次

ASP.NET按钮控件回调时cs代码里取不到页面repeater控件的值,这是为什么?
ASP.NET按钮控件回调时cs代码里取不到页面repeater控件的值,这是为什么?是什么属性设置有问题吗?

------解决方案--------------------
引用:
ASP.NET按钮控件回调时cs代码里取不到页面repeater控件的值,这是为什么?是什么属性设置有问题吗?


有没有设置runat=server?是找不到repeater还是找不到repeater里面的控件?有时候也可能是VS的问题,把repeater删掉重新添加一次就可以了

楼主最好能贴上代码,否则这样的问题无法给出明确的答案
------解决方案--------------------
是否禁用了viewstate?
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

Quote: 引用:

是放到服务器上了的。控件里的item的count为空


数据没有绑定item的count肯定是0,直接贴代码吧,页面和cs的代码都放出来


数据源是绑定了的。页面展现正常。点击按钮的时候repeater控件在服务器端的数据已经为空了。

点击按钮会产生回发,你在Page_Load里面写绑定方法了吗?


Page_Load这里面写了。
 if (!Page.IsPostBack)
 {
    BindGridView(list);
 }

问题已经出来了,(!Page.IsPostBack)这个是指页面第一次加载,而不是响应回发,也就是说,你第一次打开这个页面(有可能从其他页面跳转过来)会执行这个方法,但是你点击按钮之后它并非第一次加载,而是响应回发,所以就没有值了。你可以试试这样:
if (!Page.IsPostBack)
 {
    BindGridView(list);
 }
 BindGridView(list);