【问题标题】:how to set the value of a variable in repeater如何在中继器中设置变量的值
【发布时间】:2014-06-04 15:21:36
【问题描述】:

我想在转发器的 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")? 感谢您的帮助。

【问题讨论】:

    标签: asp.net vb.net repeater


    【解决方案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() 方法

    【讨论】:

    • 是的,但问题是我不能使用 yorumsay(yorumid) 因为 yorumid 没有价值。如何将 rowid 值分配给 yorumid? yorumsay(id as integer) 是一个简单的函数,用于计算表中的行数并返回值。
    • 检查我的更新:将yorumid 替换为Eval("DnAd")
    • 已排序。谢谢codingbiz :)
    猜你喜欢
    • 2011-12-08
    • 2017-10-14
    • 2011-01-28
    • 2020-11-04
    • 2019-12-31
    • 1970-01-01
    • 2011-03-18
    • 1970-01-01
    • 2010-10-08
    相关资源
    最近更新 更多