Repeater控件中Text文本的值如何改变

菜鸟笔记公众号 2010-04-29 08:53:36

大虾帮帮小虾

先上代码,后说明
前台

<asp:Repeater ID="Repeater1" runat="server" OnItemCommand="Repeaterlist_ItemCommand">
<ItemTemplate>
<table width="100%" border="1" cellpadding="0" cellspacing="0" >
<tr>
<td width="10%" align="center"><input id="isrecommend" runat="server" type="text" value='<%#DataBinder.Eval(Container,"DataItem.IsRecommend") %>' style="width:70px;"/></td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater>


后台:

for (int i = 0; i < Repeater1.Items.Count; i++)
{
ProductsClass productsclass = new ProductsClass();
HtmlInputText isrecommend = (HtmlInputText)Repeater1.Items[i].FindControl("isrecommend");
productsclass.IsRecommend = int.Parse(isrecommend.Value.ToString());
}


代码运行时,改变页面text文本的值,为什么后台int.Parse(isrecommend.Value.ToString()) 这个还是变之前的值,
如何获得变之后的值,谢谢大家。
...全文
116 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿非 2010-04-29
  • 打赏
  • 举报
回复
在你重新绑定前获取就可以了
  • 打赏
  • 举报
回复
谢谢各位,

我刚打断点调试了下,确认那个值被覆盖了。

repeater绑定我放到If(!ispostback)里面

可是我用了AspNetPager1 控件,每次我点确定的时候都会重新绑定。

还有没其他方法解决这个问题啊,谢谢诶
duxj007 2010-04-29
  • 打赏
  • 举报
回复
repeater绑定没有放到If(!ispostback)里面
阿非 2010-04-29
  • 打赏
  • 举报
回复
为什么后台int.Parse(isrecommend.Value.ToString()) 这个还是变之前的值
----------------------------------------------------------------

应该是你重新绑定了,然后把新值给冲掉了


在触发你的事件前 会先执行 Page_Load
mngzilin 2010-04-29
  • 打赏
  • 举报
回复
repeater绑定没有放到If(!ispostback)里面
wuyq11 2010-04-29
  • 打赏
  • 举报
回复
if(!IsPostBack)
BindData();

foreach(RepeaterItem item in this.Repeater1.Items)
{
HtmlInputText isrecommend = item.FindControl("isrecommend") as HtmlInputText;

}
EternalJ 2010-04-29
  • 打赏
  • 举报
回复
既然你 runat=server 是服务器控件 那么在后台就能取到
但是你 ASP:Text 的 ID 不知道改怎么设置
qieeleizi 2010-04-29
  • 打赏
  • 举报
回复
<asp:Repeater ID="Repeater1" runat="server"
OnItemCommand="Repeaterlist_ItemCommand">
<HeaderTemplate>
<table width="100%" border="1" cellpadding="0" cellspacing="0" >
</HeaderTemplate>
<ItemTemplate>
<tr>
<td width="10%" align="center"><input id="isrecommend" runat="server" type="text" value='<%#DataBinder.Eval(Container,"DataItem.IsRecommend") %>' style="width:70px;"/></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
应该 这样 添加Table标签。 这样是正确 的 。
zhuxiaojun2002 2010-04-29
  • 打赏
  • 举报
回复
你改变提交时,是否又执行了绑定?
也就是你点提交,先又执行了绑定,然后才执行你下面的代码。
代码太少,看不出来

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧