【问题标题】:Checking Evaluated grid value in ascx file检查 ascx 文件中的评估网格值
【发布时间】:2021-09-25 12:43:34
【问题描述】:

我正在尝试根据网格中选择的值修改 ASCX 文件中的文本。此语法不起作用。

 <p>
 The letter should be <%#If(DataBinder.Eval(Container.DataItem, "Code") == "A" Then A Else B)%>
 </p>

这应该呈现为“字母应该是 A”或“字母应该是 B”。这可以动态完成吗?网格在同一个 ascx 页面上。

【问题讨论】:

    标签: asp.net vb.net ascx


    【解决方案1】:

    那么,如果该标记要在网格视图内?

    那么您仍然需要为该列制作模板。

    所以,这样说:

              <asp:TemplateField HeaderText="test column">
                  <ItemTemplate>
                      <p>
                          <%# IIf(Eval("City") = "Edmonton", "E", Eval("City")) %>
                      </p>
                  </ItemTemplate>
              </asp:TemplateField>
    

    因此,如果数据(城市列)=“埃德蒙顿”,则显示“E”,否则显示值。

    这不是代码 - 但必须是合法的单个 VB 表达式。

    所以,if() 或 iif() 是一个 vb.net 函数 - 它们都是相同的 - 当您使用该函数时没有“then”或“else”。

    【讨论】:

    • 抱歉,它不在网格视图中。它位于同一页面下方的某些文本中。
    • 好的,那么你可以使用 所以 "%# 仅适用于数据绑定控件。但在此类控件之外,请使用 %=。所以在这方面表达式,您可以使用 -- 如果在后面的代码中公开,则可以使用该函数。
    猜你喜欢
    • 1970-01-01
    • 2013-04-25
    • 2011-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-29
    • 1970-01-01
    相关资源
    最近更新 更多