当值不为null时,清除在ASP.NET MVC视图中输出值的方法
发布时间:2020-05-24 10:16:44 所属栏目:asp.Net 来源:互联网
导读:有没有更好的方法来编写下面的代码?我有相当多的块,这使得Viewpage中的代码非常混乱. 只有在满足某些条件时才需要输出带有相关标签的数据值,如果该值不为空,则几乎总是如此. 我可以想到的选项是使用response.write来最小化ASP脚本标记的使用,或者格式化网页
|
有没有更好的方法来编写下面的代码?我有相当多的块,这使得Viewpage中的代码非常混乱. 只有在满足某些条件时才需要输出带有相关标签的数据值,如果该值不为空,则几乎总是如此. 我可以想到的选项是使用response.write来最小化ASP脚本标记的使用,或者格式化网页是这样一种方式,标签显示具有适当的n / a类型值. <% if (myData.Balance != null)
{ %>
Balance: <%= String.Format("{0:C}",(myData.Balance))%>
<% } %>
解决方法如果在 System.ComponentModel.DataAnnotations中使用 DisplayFormatAttribute类,则可以在视图中显式控制空值的输出,而无需处理内联脚本标记.它本身不会帮助您删除与值绑定的标签,但如果值为null,您至少可以自动替换输出.[DisplayFormat(NullDisplayText = "N/A",DataFormatString = "{0:c}")]
public double? Price { get; set; }
<%=Html.DisplayFor(m => m.Price)%>
使用上面的代码,如果值为null,它将自动显示“N / A”,否则它将使用默认货币格式显示值. 作为替代方案,如果你想删除标签并且不想在视图中处理脚本标签,你可以创建自己的HtmlHelper,它采用与Html.DisplayFor(表达式)相同格式的表达式,然后返回当且仅当映射到该表达式的值不为null时,Html.LabelFor(表达式)和Html.DisplayFor(表达式)的组合输出. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ASP.NET应用程序通过Windows身份验证或表单身份验证向Activ
- asp.net-mvc – ASP.NET MVC – ModelState.IsValid是false
- asp.net-mvc – ELMAH和SQL Server 2008 R2?
- asp.net – 在IIS 7或IIS 7.5集成模式下,默认文档中可能不会
- 如何在asp.net会员中手动更改密码?
- asp.net-mvc – Windows Azure上的ASP.NET MVC是生产环境的
- asp.net-mvc – asp.net mvc我可以有一个视图为多个动作方法
- asp.net – .NET Core WebAPI OpenIdDict(凭据流)和Angular
- 如何打开一个页面在新的选项卡按钮点击asp.net?
- asp.net – Telerik RadGrid GridDataItem – 如何确定列是
