ASP.NET MVC 3使用Razor - 将条件表达式与HTML输出一起使用

Mir*_*rek 7 asp.net-mvc razor asp.net-mvc-3

多年来我一直被这个问题所困扰......(我正在研究ASP.NET MVC 3)

在这个链接 - Razor If/Else条件运算符语法 - 被认为是Razor引擎中条件表达式的唯一有效语法是@(x?y:z)

好的.现在,如何在此条件表达式中编写HTML?我不能在这里使用Razor,因为代码导致语法错误无效.

@(item.Manager == null ? @:<i>unassigned</i> : item.Manager.Name)
Run Code Online (Sandbox Code Playgroud)

经过一些研究后,我发现了HtmlWriter或Html.Raw但它们都没有,也没有它们的方法.toString()或.toHtmlString()有用,因为它们不是字符串而是IHtmlString类型.

谢谢你的答复!

ing*_*ngo 16

@(item.Manager == null ? new HtmlString("<i>unassigned</i>") : new HtmlString( item.Manager.Name) )
Run Code Online (Sandbox Code Playgroud)