我在一个带有标签的网格视图中有一个模板字段,我想根据if语句修改它的文本。下面的方法当然不起作用,但这就是我想要完成的。
<%if Eval("Address") != ""%>
<%{ %>
<ItemTemplate>
<asp:Label ID="Label18" nowrap="nowrap" runat="server" Text='<%# Eval("Address") + "<br>" + Eval("City") + "," + Eval("State") + " " + Eval("Zip1") + " " + Eval("Zip2") %>'></asp:Label>
</ItemTemplate>
<%} %>我如何才能做到这一点?
发布于 2009-12-04 23:29:37
那这个呢?
<ItemTemplate>
<asp:Label ID="Label18" nowrap="nowrap" runat="server" Text='<%# Eval("Address") != String.Empty ? Eval("Address") + "<br>" + Eval("City") + "," + Eval("State") + " " + Eval("Zip1") + " " + Eval("Zip2") : String.Empty %>'></asp:Label>
</ItemTemplate>发布于 2009-12-05 00:52:26
您的数据源上可以有一个DisplayAddress属性-它可以是您想要的Address连接,也可以是null/空白。
由于不知道如何绑定网格,我不能给出最好的建议。
发布于 2009-12-05 01:03:44
考虑在你的itemTemplate中设置一个占位符:
<ItemTemplate>
<asp:PlaceHolder ID="phAddress" runat="server" />
</ItemTemplate>对于您的网格视图,有一个OnRowDataBound事件,您可以在其中构造新的asp:Label或普通HTML.使用e.Row.DataItem查找所需的地址详细信息。
然后您可以将该标签或HTML字符串分配给phAddress。
https://stackoverflow.com/questions/1847453
复制相似问题