如何在if子句中的mvc视图中附加文本

时间:2016-10-11 13:14:55

标签: c# asp.net-mvc

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

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

大于0我将附加"%"@Html.DisplayFor(model => bankCollectionReportResult.OcakYuzde)

3 个答案:

答案 0 :(得分:2)

你可以这样做

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

答案 1 :(得分:1)

这可能有点矫枉过正,但如果你不得不多次这样做,你可以创建自己的助手。

//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)

所以你可以改变&#34; minimal&#34;要求随时显示。

在你看来,你没有if else。

答案 2 :(得分:-1)

您可以这样使用:

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