当前位置:  开发笔记 > 后端 > 正文

在Mvc中使用Html.ActionLink时,如何绕过HTML编码?

如何解决《在Mvc中使用Html.ActionLink时,如何绕过HTML编码?》经验,为你挑选了4个好方法。

每当我使用Html.ActionLink时,它总是Html编码我的显示字符串.例如,我希望我的链接看起来像这样:

More…

它输出如下:更多…

&hellip是"......",你想知道.

然而,actionlink输出实际文本"…" 作为链接文本.我有同样的问题,如果我想输出这个:

My-Post-Title-Here

我结束了: My-Post-Title-Here

知道怎么做吗?



1> tvanfosson..:

看起来ActionLink总是在链接文本上使用调用HttpUtility.Encode.您可以使用UrlHelper生成href并自己构建锚标记.

More…

或者,您可以"解码"传递给ActionLink的字符串.在HTML中构建链接似乎更具可读性(对我而言) - 尤其是在Razor中.以下是相当的比较.

@Html.ActionLink(HttpUtility.HtmlDecode("More…"), "Posts", ...)



2> 小智..:

Sam给出的答案实际上是正确的,我在我的解决方案中使用它,所以我自己尝试了.您可能希望删除额外的括号,使其变为如下所示:

@Html.ActionLink(HttpUtility.HtmlDecode("&"), "Index", "Home")



3> bobince..:

或者,只使用普通的Unicode省略字符\ u2026让MVC担心如何对其进行编码.除非有一些特别令人信服的理由,否则你需要一个hellip实体引用而不是字符引用,或者只是将字符包含为简单的UTF-8字节.

或者替代:只使用三个时期.省略号(U + 2026)是一个兼容性字符,仅包括往往前Unicode编码的往返.与简单的点相比,它让你很少.



4> Pavel Shklei..:

看看这个:

  

Some text @(new HtmlString(stringToPaste))

推荐阅读
雯颜哥_135
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有