【发布时间】:2014-08-27 16:27:34
【问题描述】:
我正在根据页面模型中的属性动态设置页面标题。有时该属性包含 html 标记,例如 <i>Article Title</i>。当属性包含 HTML 标记时,它们会显示在页面标题中。我尝试用@Html.Raw 包围该物业,但没有帮助。如何确保标签不显示?
代码:
<head>
<title>@Html.Raw(Model.Title)</title>
</head>
基于@Santiago's answer的工作代码:
<head>
@{
string titleRaw = Model.Title;
string htmlTag = "<[^>]*>";
Regex rgx = new Regex(htmlTag);
string titleToShow = rgx.Replace(titleRaw, blank);
}
<title>@titleToShow</title>
</head>
【问题讨论】:
-
你能展示你的代码吗?
-
@Html.Raw 不会从您的属性中消除标记。你需要自己擦掉它。过去,我为不应包含标记的标题使用了单独的属性。
-
如果你将 regex 和
Html.Raw结合起来,你会得到两者的最好的。干净安全的文本。
标签: asp.net-mvc razor title