3

我正在尝试在 html 标记之间显示一些文本,我正在使用 @HTML.Raw 方法来完成此操作,代码片段如下所示:

<!-- SEO -->
<title>@Html.Raw(Model.Title)</title>
<meta name="Description" content="@Html.Raw(Model.Description)">
<meta name="KEYWORDS" content="@Html.Raw(Model.Keywords)">
<!-- END SEO -->

Description: @Html.Raw(Model.Description)
Keywords: @Html.Raw(Model.Keywords)

但代码执行后,显示如下:

<!-- SEO -->
<title>FÚTBOL - El portal de los hinchas del fútbol</title>
<meta name="Description" content="F&#218;TBOL - El portal de los hinchas del f&#250;tbol">
<meta name="KEYWORDS" content="F&#250;tbol,hinchas">
<!-- END SEO -->
Description: FÚTBOL - El portal de los hinchas del fútbol
Keywords: Fútbol, hinchas

当转义字符串在 " 字符之间时发生了一些事情。

有谁知道为什么会这样?

编辑

变量的内容是这样的:

Title: FÚTBOL - El portal de los hinchas del fútbol
Description: FÚTBOL - El portal de los hinchas del fútbol
Keywords: Fútbol, hinchas

我的 _Layout 中的字符集和文档类型是:

<!DOCTYPE html>
<html lang="es" xmlns:fb="http://www.facebook.com/2008/fbml" xmlns:og="http://ogp.me/ns#">
<head>     
  <meta charset="utf-8" />

问题不在于它显示 Ú 或 ú 的字母的情况。我不明白的是为什么它在一种情况下而不是在另一种情况下逃脱了这封信,

4

3 回答 3

1

既然&x250;是 "ú" 而 218 是 "Ú" 有什么问题呢?您只是看到了一些使用 HTML 实体的案例,而没有看到其他案例。

如果您使用合适的编码提供输出,最终结果将是相同的 - 实体将是客户端进行取消编码。

于 2012-05-03T14:43:23.003 回答
1

我的建议是在您想强制使用 Raw 字符串时使用 @Html.Raw("your string") 。

于 2014-04-04T17:01:28.830 回答
0

尝试HttpUtility.HtmlDecode("Your string with special characters")

例如:

Description: @HttpUtility.HtmlDecode(Html.Raw(Model.Description))
Keywords: @HttpUtility.HtmlDecode(Html.Raw(Model.Keywords))

致谢:@Hakan Fıstık

帖子:ASP MVC Razor 在输入占位符中编码特殊字符

于 2020-04-26T19:44:15.563 回答