恩,一楼说的有理。
<% %>代码相当于在后台写代码,虽然你写在了ItemTemplate里,但代码和模板列并不是包含关系,你在<% %>测试this,this代表的这个页面的类。
而<%# %>是数据绑定控件内部用来绑定数据的语法,两种语法如何通信?
我想那就去掉通信的麻烦,把for循环都写在<%# %>里吧,可<%# %>里不支持for语法。所以,
我建议你在后台写一个public方法,如
public string GetImagesString(object rank)
{
string retStr="";
string numString=rank.ToString();
int temp=0;
if(int32.TryParse(numString,out temp))
{
for(int i=0;i
retStr+="
"
}
}
return retStr;
}
然后在模板列里直接写上<%# GetImagesString(Eval("rank")) %>
alt="" />
至于这么费劲吗
GridView都有一 GridView1_RowDataBound这个事件
每加载一行就执行一次这个事件
你在这个事件里写上 e.cell[0].text="你的内容"就可以了,把代码写到这个事件里
都已经是代码和页面分离了,怎么还写到页面里