刚刚在论坛帮一位大大解决问题
他的是在Repeater里面的ItemTemplate里面有个循环,根据循环来动态绑定Repeater
下面引用 wangqiinfo 的帖子 <%#Eval("xx")%>中如何嵌套一个变量
代码是这个样子
<%
for (int i = 0; i < lsbor.Count; i++)
{
if (lsbor[i].Istitle == "1") {
%>
本来我以为只要 <%#Eval(lsbor[i].titleid)%>这样子就可以绑定成功,可是经过测试这样是不行的 提示i变量没有定义
网上查了下帖子没有弄明白问什么,不过却找到了解决方案,
不过网上代码大多都是csdn上直接copy的,晦涩难懂。
经仔细研读自己写了个小demo,讲代码简化,提供大家看不懂msdn代码的可以先看下我的简化版
结果输出如下:
值:field1
值:field21值:field22
值:field31值:field32值:field33
值:field41值:field42值:field33值:field44
dataTable数据:
field1, field2, field3, field4
field21,field22, field23, field24
field31,field32, field33, field34
field41,field42, field33, field44
自定义模板类
public class MyTemplate : System.Web.UI.ITemplate { static List
")); } }
后台代码
protected void Page_Load(object sender, EventArgs e) { DataTable dt = new DataTable(); dt.Columns.Add("field1"); dt.Columns.Add("field2"); dt.Columns.Add("field3"); dt.Columns.Add("field4"); dt.Rows.Add("field1", "field2", "field3", "field4"); dt.Rows.Add("field21", "field22", "field23", "field24"); dt.Rows.Add("field31", "field32", "field33", "field34"); dt.Rows.Add("field41", "field42", "field33", "field44"); List
前台代码
理论性知识msdn上都有我这里就不加赘述了
原问题帖地址:http://topic.csdn.net/u/20100612/10/b8e20089-4718-4ab7-b2cc-21f229f501d4.html?seed=1215124475&r=66195153#r_66195153
参考资料
msdn地址:http://msdn.microsoft.com/zh-cn/library/cc438020(VS.71).aspx
不知道是不是原帖还是被转的,不过我看这篇是最正规的(^_^)
http://blog.csdn.net/llxchen/archive/2008/01/18/2051149.aspx