链接不能在ASP mvc剃刀视图中正确显示



我已经实现了这篇文章中解释的解决方案:如何使用LinqToTwitter获取twitter 's HTML ?但是当我显示我的tweet时,HTML链接显示如下

<a class="inline" href="http://twitter.com/cgitosh" target="_blank">@cgitosh</a> And how are you?

而不是仅仅显示@cgitosh And how are you?@cgitosh链接到推特账户。

我做错了什么?

Razor代码片段:

@{var tweet = TwitterExtensions.Text2Html(item.Text);}
<div>@tweet</div>

我将tweet文本传递给Text2HTML函数这在上面的链接中有解释它返回tweet并链接到变量tweet然后我将其输出到我的视图

尝试:

@{var tweet = TwitterExtensions.Text2Html(item.Text);}
<div>@(new HtmlString(tweet))</div>

…除非你在其他地方使用tweet,你可以直接输入

<div>@(new HtmlString(TwitterExtensions.Text2Html(item.Text)))</div>
Razor默认的HTML编码字符串,所以你必须显式地告诉它将其呈现为标记。(参见这里)。希望这对你有帮助!

试试:

<div>@Html.Raw(tweet)</div>

Html.Raw方法不会对输出进行HTML编码,而Razor默认是这样做的。

最新更新