以下代码在Razor中非常有用:
@if (!string.IsNullOrEmpty(Model.EmployeeNo))
{
@:(@Model.EmployeeNo)
}
但是,我无法弄清楚如何将其显示为Inline IF语句。困难的部分是,如果EmployeeNo值存在,则需要将其显示为括在括号中。
我尝试了很多方法,但无法让它发挥作用。最新的尝试是
@if(!string.IsNullOrEmpty(Model.EmployeeNo ? @:(@Model.EmployeeNo) : string.Empty))
答案 0 :(得分:2)
看起来你正试图做一个三元组。您只能使用有效的C#代码执行此操作(您不能在其中嵌入任何文本或HTML。因此,以下方法可行:
@(!string.IsNullOrEmpty(Model.EmployeeNo) ? "(" + Model.EmployeeNo + ")" : string.Empty)
或者,您可以使用string.Format
代替连接:
string.Format("({0})", Model.EmployeeNo)
重点是它必须是实际的代码。
此外,对于三元组,您不包含if
部分,以防您在上面的代码中没有注意到。如果您确实想使用if
而不是三元组,但仍然只使用一行,那很好,但您仍然必须包括括号:
@if (!string.IsNullOrEmpty(Model.EmployeeNo)) { @:(@Model.EmployeeNo) }
Razor知道如何解析if
块。