asp.net-mvc-3 – 带Razor的条件显示元素
发布时间:2020-05-22 12:11:27 所属栏目: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; } (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- iis – 如何调试w3wp.exe随机崩溃的原因?
- asp.net – 如何在WebGrid中的列标题使用DisplayName数据注
- asp.net-mvc – 使用ASP.NET MVC进行消防和遗忘
- asp.net-mvc – ASP.NET MVC验证ViewState MAC失败
- 如何指导获取一个经典的asp应用程序在IIS 7.0下工作
- 日志记录 – 如何在ASP.NET MVC 6中注册ILogger进行注入
- asp.net-mvc – 如何使用FluentValidation在ClientSide中验
- asp.net-mvc – 在asp.net mvc控制器中使用构造函数注入的I
- asp.net – WCF与WebAPI和本机移动设备
- asp.net-mvc-3 – 剃刀不能轻松地使用强类型的Html.ActionL
推荐文章
站长推荐
- asp.net-mvc – 如何调试此错误:’无法找到iise
- asp.net-mvc – 自定义模型绑定,模型状态和数据注
- asp.net-mvc – ControllerActionInvoker
- asp.net – 嵌套的Repeater和SqlDataSource参数
- asp.net-mvc – MVC @ Url.Content vs @ Url.Act
- asp.net – 从Web API的承载令牌返回用户角色
- asp.net-mvc – 如何使用Visual Studio 2013和En
- asp.net-mvc – 如何使用Linq to SQL配置mvc min
- asp.net-mvc – 如何将默认值显示为空白而不是类
- ASP.NET MVC3中基于权限的授权
热点阅读
