如何在MVC视图中添加一个if子句中的文本

本文关键字:一个 if 子句 文本 MVC 视图 添加 | 更新日期: 2023-09-27 18:12:26

我想显示一个值,如果另一个值大于0。如果这个值

@Html.DisplayFor(model => bankCollectionReportResult.OcakYuzde)

大于0,我将在"%"@Html.DisplayFor(model => bankCollectionReportResult.OcakYuzde)后面加上

如何在MVC视图中添加一个if子句中的文本

你可以这样做

@{
    if (model.bankCollectionReportResult.OcakYuzde > 0)
    {
         @Html.DisplayFor(model => bankCollectionReportResult.OcakYuzde) %
    }
    else
    {
        @Html.DisplayFor(model => bankCollectionReportResult.OcakYuzde)
    }
}

这可能有些多余,但如果您必须多次这样做,您可以创建自己的帮助器。

//done with int there, but you could do with the desired type
public static IHtmlString DisplayConditionalPercent<TModel>(this HtmlHelper<TModel> helper, Expression<Func<TModel, int>> expression, int minimalDisplayValue = 0)
{
    int value;
    var displayValue = helper.DisplayFor(expression);
    if (int.TryParse(displayValue.ToString(), out value) && value > minimalDisplayValue)
        return MvcHtmlString.Create(displayValue + " %");
    return null;
}
使用

@Html.DisplayConditionalPercent(model => bankCollectionReportResult.OcakYuzde)

所以你可以改变"minimal"要求,让它随时显示。

你的视图中没有if else

您可以这样使用:

@if(model.bankCollectionReportResult.OcakYuzde > 0)
{
   @Html.Raw("%"+model.bankCollectionReportResult.OcakYuzde)
}