c# - 使用 ASP.NET 进行条件 html 呈现

标签 c# asp.net html data-binding itemtemplate

考虑以下代码片段:

<asp:TemplateField HeaderText="Item Data">
    <ItemTemplate>
        <%# DataBinder.Eval(Container.DataItem, "ItemData1") %>
        <br />&nbsp;&nbsp;
        <%# DataBinder.Eval(Container.DataItem, "ItemData2") %>
    </ItemTemplate>
</asp:TemplateField>

我需要重构它,以便如果 ItemData2 为空,<br />&nbsp;&nbsp;不渲染

我不确定如何才能做到这一点。

编辑:我尝试添加如下条件:

<% if(DataBinder.Eval(Container.DataItem, "ItemData2") != null) { %>
    <br />&nbsp;&nbsp;
    <%# DataBinder.Eval(Container.DataItem, "ItemData2") %>
<% } %>

它没有用,而且看起来真的很丑!

最佳答案

在 DataBinder.Eval 中,您可以像下面那样传递您的条件,这对您有用。

<%#( DataBinder.Eval(Container.DataItem,"Item1)==null ?DataBinder.Eval(Container.DataItem,"Item1"):
DataBinder.Eval(Container.DataItem,"Item2"))%>

关于c# - 使用 ASP.NET 进行条件 html 呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15407710/

相关文章:

javascript - 加载网站的 HTML 是否会为该网站产生流量?

JavaScript 克隆内部 HTML,然后根据克隆的文本创建新的 div

c# - 为什么这个cookie有时是空的?

javascript - 选择所有 HTML ID 作为 jQuery 对象

c# - 从 MVC Web 项目发送 Apple 推送通知

c# - 将 System.Drawing 位图转换为 Dlib Array2D

C# - Xamarin 表单在切换时删除 ListView 项

javascript - Angular 服务器端呈现模板 (.cshtml) 使用转义符号解析错误

javascript - HTML 网站、电子邮件问题

c# - 将 HTML 表格转换为图像文件