积极答复者
如何在Repeater的ItemTemplate中把绑定的值赋值给一个变量?

问题
-
代码片段:
......
<ItemTemplate>
<dl>
<dt>
<div class="photo"> <a href="/Product/<%#Eval("id") %>"><img src="/upload/product_pic_1_03.gif" alt="品名:<%#Eval("name") %> 货号:<%#Eval("itemCode") %>" width="160px" /></a> </div>
</dt>
<dd> 品名:<a href="/Product/<%#Eval("id") %>"><%#Eval("name") %></a></dd>
<dd> 货号:<%#Eval("itemCode")%></dd>
<dd>
<%
int i = DataBinder.Eval(Container.DataItem, "memberRank");
%> </dd>
.........
答案
-
你好!你可以在 ItemDataBound 事件中获取到绑定行的信息,另外你可以通过 FindControl 找到指定的控件获取它的值。
知识改变命运,奋斗成就人生!- 已标记为答案 Microsoft.NET 2009年9月28日 7:26
全部回复
-
你好!你可以在 ItemDataBound 事件中获取到绑定行的信息,另外你可以通过 FindControl 找到指定的控件获取它的值。
知识改变命运,奋斗成就人生!- 已标记为答案 Microsoft.NET 2009年9月28日 7:26
-
谢谢,不可以直接在ASPX文件的<%%>块中处理的吗?
这样是可以的
<% int i = DataBinder.Eval(Container.DataItem, "memberRank"); %>
你需要在后台定义这个变量i 或者数组赖保存值 这样你在Code_Behind中也无法访问撒
但建议直接采取xxy版主的方法
Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!http://hi.baidu.com/1987raymond -
<%
谢谢各位,我试过了不可以 ,提示Container不存在 。我是想这样用的
int i = DataBinder.Eval(Container.DataItem, "memberRank");
%>不太符合asp.net的机制, int i 只是局部变量,其他方法无法访问到
【孟子E章】
<ItemTemplate>
<dl>
<dt>
<div class="photo"> <a href="/Product/<%#Eval("id") %>"><img src="/upload/product_pic_1_03.gif" alt="品名:<%#Eval("name") %> 货号:<%#Eval("itemCode") %>" width="160px" /></a> </div>
</dt>
<dd> 品名:<a href="/Product/<%#Eval("id") %>"><%#Eval("name") %></a></dd>
<dd> 货号:<%#Eval("itemCode")%></dd>
<dd>
<%
int i = DataBinder.Eval(Container.DataItem, "memberRank");
fro(j=0;<=i;j++)
{
Response.write(xxx)
}
%>
</dd>