asp.net vb 如何在Repeater 控件里把<%# eval("id") %>赋值给一个变量?
例如,<% dim aid as string = Eval("id").tostring() %>
但是这样写又是不行的。。。。唉,我该怎么做啊!求教各位大神!
补充:不是给lable,是给变量。
追问:不是给lable,是给变量。不是给lable,是给变量。能给个VB的代码吗,还有,不能只获取一个啊,会有循环多行的,要写循环,每一个都要有一个事件我一行就做一个事件的,第二行变了id又做一个事件,循环!我真的需要这个功能啊!好,我在这个控件循环输出的数据里,又有它循环输入的数据,就是说我要循环输出1,2,3,4,5.然后1里面又有循环输入:1-1,1-2,1-3,这样的,所以我想在里面写个事件“dim sql as string = "select * from biao where did=" + eval("id").tostring() ”就是想这样循环输入数据这是C#的啊。。。看不懂。。试过了,在里面去不了label的值,因为在控件里面,label的id=未声明其实我那个等于一个for循环。
第一条数据读出来的时候,获取id,做事件。
第二条数据读出来的时候,再获取id,再做事件。
...
就是这样- -!现在的问题就是取不到id赋值到变量里去。。。
其他:这是 asp.net c#
<asp:lable runat="server" id="labID" text='<%#Eval("id")%>' ></asp:lable> <asp:lable runat="server" id="labID" text='<%#Eval("id")%>' ></asp:lable> 你的写法是asp的,.net是这样写
<asp:lable runat="server" id="labID" text='<%#Eval("id")%>' ></asp:lable>
但是在Repeater 控件里后台是获取不到里面lable的值的,所以不能包含在Repeater里
直接在外面用控件绑定就行。或者你用gredview控件和datalist控件,但是为了访问速度,这两个尽量不用,就直接在页面上用个lable控件就行了
-----------------------------------------------------------------------------
如果是变量的话,可以用session储存变量 前台: <asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<asp:HiddenField ID="HiddenField1" runat="server" Value='<%#Eval("id")%>' />
</ItemTemplate>
</asp:Repeater>
后台代码段:C#
protected void Function()
{
foreach (RepeaterItem Item in Repeater1.Items)
{
HiddenField hidid = null;
hidid = Item.FindControl("HiddenField1") as HiddenField;
if (hidid != null)
{
//自己写操作
}
}
} 这想一想就不可能
Repeater绑定的是个列表,也就是说它可能有N行,假设这种赋值是正确的,第一行把id付给了aid变量,第二行再赋值不就覆盖了?
其实外面既然有数据源能绑定数据,想得到数据源里的每个id也不是什么难事,何必在绑定的时候操作。
楼主需要考虑下你是否真的需要这个功能 给label,变量再获取label值
上一个:ASP.NET 中处理 HTTP 请求的原理
下一个:能否在一个asp.net的界面上实现2个GridView 怎么定义