在CSHTML中编写此if语句的更简化的方法

时间:2018-08-14 13:39:10

标签: .net asp.net-mvc razor

我只是想看看下面是否有更简化的方法来编写此if语句?

                    @if (templateGroupTitle != null)
                    {
                        var templateTitleCourse = @templateTitle + " - " + @templateGroupTitle;
                        <td><a href="Template comparisons/@(templateId).html">@templateTitleCourse</a></td>

                    }
                    else
                    {
                        <td><a href="Template comparisons/@(templateId).html">@templateTitle</a></td>
                    }

1 个答案:

答案 0 :(得分:2)

好的,像这样:

<td><a href="Template comparisons/@(templateId).html">@(templateTitle + (templateGroupTitle != null ? (" - " + templateGroupTitle) : ""))</a></td>

也许更好

@
{
    var title = templateTitle + (templateGroupTitle != null ? (" - " + templateGroupTitle) : "");
}

<td><a href="Template comparisons/@(templateId).html">@title</a></td>

也许是最好的:

@
{
    var delimiter = " - ";
    var title = string.Join(delimiter, templateTitle, templateGroupTitle).TrimEnd(delimiter.ToCharArray());
    // var title = $"{templateTitle}{delimiter}{templateGroupTitle}".TrimEnd(delimiter.ToCharArray()); // Another way
}

<td><a href="Template comparisons/@(templateId).html">@title</a></td>

选择最喜欢的方法。

我可能对方括号感到困惑,但是您明白了。