【发布时间】: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 页面上。
【问题讨论】:
我正在尝试根据网格中选择的值修改 ASCX 文件中的文本。此语法不起作用。
<p>
The letter should be <%#If(DataBinder.Eval(Container.DataItem, "Code") == "A" Then A Else B)%>
</p>
这应该呈现为“字母应该是 A”或“字母应该是 B”。这可以动态完成吗?网格在同一个 ascx 页面上。
【问题讨论】:
那么,如果该标记要在网格视图内?
那么您仍然需要为该列制作模板。
所以,这样说:
<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”。
【讨论】: