Asp.net 如何在repeater中设置变量的值

Asp.net 如何在repeater中设置变量的值,asp.net,vb.net,repeater,Asp.net,Vb.net,Repeater,我想在中继器的aspx页面中调用一个函数: <asp:Repeater ID="Rpt_M" runat="server"> <HeaderTemplate></HeaderTemplate> <ItemTemplate> <a href="noktaDetay.aspx?id=1" ><%# Container.DataItem(1)%></a> <%Dim yorumi

我想在中继器的aspx页面中调用一个函数:

 <asp:Repeater ID="Rpt_M" runat="server">
    <HeaderTemplate></HeaderTemplate>
    <ItemTemplate>
    <a href="noktaDetay.aspx?id=1" ><%# Container.DataItem(1)%></a>
    <%Dim yorumid As Integer = Eval("DnAd")
      Dim yorumadet = yorumsay(yorumid)
      Dim yorumyaz As String = yorumadet + " adet yorum var"
      If yorumadet = 0 Then yorumyaz = "bla bla bla"%>
    <a href="yorumlar.aspx?id=1"><%=yorumyaz%></a>
    </ItemTemplate>
    <FooterTemplate></FooterTemplate>
    </asp:Repeater> 

运行代码时,出现以下错误:

诸如Eval()、XPath()和Bind()之类的数据绑定方法只能在数据绑定控件的上下文中使用

如何设置yorumid的值而不是使用eval(“DnAd”)?
谢谢您的帮助。

我想您应该使用
IIf
操作符

<a href="yorumlar.aspx?id=1"><%# IIf(yorumsay(Eval("DnAd")) = 0, "bla bla bla", yorumsay(Eval("DnAd")) + " adet yorum var")%></a>

它在C语言中被称为三元运算符#



我相信
yorumsay()
方法已经可以用于您的页面了

是的,但是问题是我不能使用yorumsay(yorumid),因为yorumid没有价值。如何将rowid值分配给yorumid?yorumsay(id为整数)是一个简单的函数,它对表中的行进行计数并返回值。检查我的更新:将
yorumid
替换为
Eval(“DnAd”)
它已排序。谢谢你,科丁比兹:)
<a href="yorumlar.aspx?id=1"><%# yorumsay(Eval("DnAd")) = 0 ? "bla bla bla" : yorumsay(Eval("DnAd")) + " adet yorum var")%></a>