asp.net-mvc-3 – 带Razor的条件显示元素
发布时间:2020-08-03 12:34:00 所属栏目:asp.Net 来源:互联网
导读:有没有比下面有条件地(使用剃刀)显示/隐藏元素的更聪明的方法?视图非常大,我担心维护: @if(@Model.Atendimento.PrazosEEntregas.Visivel){ div h4Prazos e entrega do servio/h4 @if (!string.IsNullOrWhiteSpace(@Model.Ate
有没有比下面有条件地(使用剃刀)显示/隐藏元素的更聪明的方法?视图非常大,我担心维护: @if(@Model.Atendimento.PrazosEEntregas.Visivel) { <div> <h4>Prazos e entrega do servio</h4> @if (!string.IsNullOrWhiteSpace(@Model.Atendimento.PrazosEEntregas.PrazoFinalizacaoServico)) { <p>@Model.Atendimento.PrazosEEntregas.PrazoFinalizacaoServico</p> } @if (!string.IsNullOrWhiteSpace(@Model.Atendimento.PrazosEEntregas.PrazoRetiradaDocumento)) { <p><strong>Prazo de retirar o documento:</strong> @Model.Atendimento.PrazosEEntregas.PrazoRetiradaDocumento</p> } @if (!string.IsNullOrWhiteSpace(@Model.Atendimento.PrazosEEntregas.OndeRetirarServico)) { <p><strong>Onde retirar/receber:</strong> @Model.Atendimento.PrazosEEntregas.OndeRetirarServico</p> } @if (!string.IsNullOrWhiteSpace(@Model.Atendimento.PrazosEEntregas.ObservacaoPrazoRetirada)) { <p><strong>Observao:</strong> @Model.Atendimento.PrazosEEntregas.ObservacaoPrazoRetirada</p> } </div> } 谢谢, 解决方法您可以编写一个有条件地输出内容的自定义帮助程序:public static class HtmlExtensions { public static IHtmlString FormatValue( this HtmlHelper htmlHelper,string value,string label ) { if (string.IsNullOrWhiteSpace(value)) { return MvcHtmlString.Empty; } var result = string.Format( "<p><strong>{0}</strong> {1}</p>",htmlHelper.Encode(label),htmlHelper.Encode(value) ); return new HtmlString(value); } } 然后: @Html.FormatValue( Model.Atendimento.PrazosEEntregas.ObservacaoPrazoRetirada,"Observao:" ) 另一种可能性是使用显示模板: @Html.DisplayFor(x => x.Atendimento.PrazosEEntregas.ObservacaoPrazoRetirada) 然后,您可以为字符串类型(或自定义类型)定义显示模板: @model string @if (!string.IsNullOrWhiteSpace(Model)) { <p> <strong>@ViewData.ModelMetadata.DisplayName</strong> @ViewData.TemplateInfo.FormattedModelValue </p> } 在您的视图模型上: [DisplayName("Observao:")] [UIHint("MyTemplate")] public string ObservacaoPrazoRetirada { get; set; } (编辑:鄂州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-2 – 如何在ASP.NET MVC2中为Html.LabelFor()添
- 是否有WPF的母版页(如asp.net)的概念?
- asp.net-mvc – ControllerActionInvoker
- asp.net 汉字转换拼音及首字母实现代码
- asp.net-mvc – MVC导航到不同的控制器视图
- ASP.NET web.config文件是否失控?
- ASP.NET web.config中数据库连接字符串connectionStrings节
- asp.net-mvc – 在我的ASP.NET MVC网站中缓存不能正常工作?
- asp.net – 在Web.config帮助中定义tagPrefixes
- asp.net – 从单独的配置文件中读取设置
推荐文章
站长推荐
- asp.net – Intranet / Internet的Windows身份验
- asp.net – 如何以二进制格式下载存储在SQL DB中
- 如何合理地构建我的ASP.NET MVC 2项目与区域
- Jquery+ajax请求data显示在GridView上(asp.net)
- ASP.NET 5,.NET Core和ASP.NET Core 5有什么区别
- asp.net-mvc – 具有ASP.NET MVC的多语言网站
- ASP.NET两个截取字符串的方法分享
- asp.net-mvc-3 – 在ASP.NET MVC 3中覆盖/禁用授
- asp.net – Request.Url.AbsoluteUri和重写的URL
- asp.net 上传或下载当文件名包含有特殊字符#的处
热点阅读