gpt4 book ai didi

asp.net - 当值不为空时在 ASP.NET MVC View 中输出值的简洁方法

转载 作者:行者123 更新时间:2023-12-02 21:08:48 26 4
gpt4 key购买 nike

下面的代码有更好的写法吗?我有很多类似的 block ,这使得 View 页面中的代码使用起来非常困惑。

只有在满足某些条件时才需要输出具有关联标签的数据值,如果该值不为空,则几乎总是如此。

我能想到的选项是使用response.write至少最大限度地减少ASP脚本标记的使用,或者格式化网页,使标签显示适当的n/a类型值。

<% if (myData.Balance != null)
{ %>
Balance: <%= String.Format("{0:C}", (myData.Balance))%>
<% } %>

最佳答案

如果您使用 DisplayFormatAttribute类(class) System.ComponentModel.DataAnnotations您可以显式控制 View 中空值的输出,而无需处理内联脚本标记。它本身并不能帮助您删除与该值相关的标签,但您至少可以让它在该值为 null 时自动替换输出。

[DisplayFormat(NullDisplayText = "N/A", DataFormatString = "{0:c}")]
public double? Price { get; set; }

<%=Html.DisplayFor(m => m.Price)%>

使用上面的代码,如果值为空,它将自动显示“N/A”,否则将使用默认货币格式显示该值。

作为替代方案,如果您也想删除标签并且不想在 View 中处理脚本标记,您可以制作自己的 HtmlHelper,它采用与 Html.DisplayFor(表达式),然后返回 Html.LabelFor(表达式)Html.DisplayFor(表达式) 的组合输出当且仅当值映射到该值时表达式不为空。

关于asp.net - 当值不为空时在 ASP.NET MVC View 中输出值的简洁方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2885355/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com