2

我有以下代码块,它为公司创建了一个操作链接。

Html.ActionLink(Html.Encode(currentCompany.GetDisplayName()), "CompanyFactsheet", "Company",
                                                       new {friendlyURL = currentCompany.FriendlyURL.ToLower()}, null)%>

一些公司名称包含“&”,这被呈现为&

有没有一种方法可以让我Html.Encode命名公司名称,但仍保持&符号应有的外观,而不是&

4

3 回答 3

4

使用 ActionLink 辅助方法时,您似乎不需要编码。它在内部编码:

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

于 2011-02-15T16:56:19.513 回答
3

仔细检查生成的标记。应该在页面上显示的唯一方法&是,如果您对 & 字符进行双重编码(因此页面的源将显示&)。

这可能是由于存储了已经 HTML 编码的字符,或者您正在使用<%:(HTML 自动为您编码所有内容)而不是<%=在您的视图中。

于 2011-02-15T16:49:43.603 回答
0

在保存它们之前将 & 替换为其他字符,并在编码后将它们替换回来(最有可能使用 jquery)...我知道这听起来有点矫枉过正,但如果你真的需要 Html.Encode (或 <%:, 或 @ in剃刀),这是恕我直言的最佳方式....

于 2011-02-15T16:53:12.033 回答