Asp.net MVC在Razor中输出Html的两种方式

http://qubernet.blog.163.com/blog/static/177947284201485104616368/

Razor中所有的Html都会自动编码,这样就不需要我们手动去编码了(安全),但在需要输出Html时就是已经转义过的Html文本了,如下所示:

@{

string thisTest = "<span color:#f00;\">qubernet</span>";

}

@thisTest;

这样在页面输出的文本就是:<span color:#f00;\">qubernet</span>而不是红色的字体了,要输出红色的字体,有下面常用的两种方式:

1. 使用Razor中的Html.Raw(推荐使用这种方式):

@{

string thisTest = "<span color:#f00;\">qubernet</span>";

}

@Html.Raw(thisTest);

2. 使用MvcHtmlString类来实现:

@{

string thisTest = "<span color:#f00;\">qubernet</span>";

var thisResult = new MvcHtmlString(thisTest);

}

@thisResult或@(new HtmlString(thisTest))