如何在转发器中设置变量的值

时间:2014-06-04 15:21:36

标签: 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 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(&#34; DnAd&#34;)? 谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

我认为您应该使用IIf运算符

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

在C#中称为三元运算符

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

我相信您的网页已经可以使用yorumsay()方法