【发布时间】:2020-02-23 02:03:43
【问题描述】:
我的剃须刀页面中有以下代码,它工作正常。
<dd class="col-sm-6">
@if (Model.Status.Equals("inactive", StringComparison.OrdinalIgnoreCase))
{
@Html.DisplayFor(model => model.ContactName)
}
else
{
<input asp-for="Model.ContactName" class="form-control" /><span asp-validation-for="Model.ContactName" class="text-danger"/>
}
我想将其转换为内联条件。我怎样才能做到这一点?我正在尝试以下方法,但它不评估剃刀标签。
<dd class="col-sm-6">
@(Model.Status.Equals("inactive", StringComparison.OrdinalIgnoreCase)?Html.DisplayFor(model => model.ContactName):Html.Raw(value: $"<input asp-for=\"{Model.ContactName}\" class=\"form-control\" /><span asp-validation-for=\"{Model.ContactName}\" class=\"text-danger\" />"))
【问题讨论】:
-
哦,这很愚蠢,但我认为它会起作用,因为它让我很困扰......关于不显示错误或警告在
Html.DisplayFor之前添加@ -
坦率地说,我认为内联条件应该用于简单的语句。在您的第一个版本中更具可读性。
标签: asp.net-core razor asp.net-core-mvc razor-pages