当前位置:编程学习 > C#/ASP.NET >>

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 怎么定义

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,