绑定控件中<%#Eval()%>和<%=变量%>的执行顺序

repeater.databind()后,控件itemtemplate和AlternatingItem模版中的 控件中的 属性=<%#Eval()%> 先运行赋值绑定一行,然后再触发这一行的repeater_ItemDataBound()事件函数,然后再 属性=<%#Eval()%> 先运行赋值绑定一行,然后再触发这一行的repeater_ItemDataBound()事件函数(因此在该事件函数中可以得到该行中被Eval绑定的属性值),以此类推。因此总是先算完<%#Eval()%><%#Bind()%>,在最后一个Item行的的repeater_ItemDataBound()事件函数执行完毕之后,再执行<%=变量%>,然后,再转回绑定程序的代码repeater.Bind(),并继续向下执行。

aspx的源码文件中按照出现的顺序对<%=变量%>之类的赋值,repeater里面嵌套控件包含<%=变量%>,如其位置在repeater对象自身的<%=变量%>之前,则先算嵌套控件里面的<%=变量%>,再算repeater自身包含对象的<%=变量%>,)。

 

如果要想同步绑定变量,想了个办法,随便绑定Eval()一个字段,软后将需要在这里显示的内容变量直接放到后面的格式化字符串里,Name=<%#Eval("UcountyId",county)%>

 


footertemplate中的控件不在ItemDataBound()(headertemplate应该也是这样)中绑定,

 

这之前还未曾注意过这些问题,以后再验证验证

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值