2013-05-08 121 views
19

我想写类似:如果使用HTML内容,我可以写内联吗?

@(checkCondition ? "<span class='label'>Right!</span>" : "") 

但它显示的源代码,而不是HTML,有一个简单的方法来做到这一点?

谢谢!

+1

http://stackoverflow.com/questions/ 4091831/how-to-use-ternary-operator-in-razor-specific-on-html-attributes – billyonecan 2013-05-08 14:30:58

回答

50

您可以使用@Html.Raw(mystring)方法是这样的:

@(checkCondition ? Html.Raw("<span class='label'>Right!</span>") : Html.Raw("")) 
+0

谢谢,我试过了,但是我在'System.Web.IHtmlString'和'string'之间得到了错误隐式转换,似乎我必须使用标准如果为这种情况。 – Santiago 2013-05-08 14:43:55

+1

对上述两个字符串使用'Raw'方法。我编辑了我的答案。 – 2013-05-08 14:50:29

+1

Ahhhhh ....你是对的!谢谢!!! – Santiago 2013-05-08 14:51:23

20

您可以更加简洁(授予更难读)本:

@Html.Raw(checkCondition ? "<span class='label'>Right!</span>": string.Empty) 
相关问题