我的标题中有特殊字符的页面用于正确的排版,例如它说Exchange '07 Groups“带有正确的撇号,而不是单引号。撇号的HTML实体是‘
所以,我发现如果我从VB设置页面标题,标题显示就好了,但是一旦更新面板更新该HTML实体被重新编码并且错误地显示为“Exchange&#8216” ; 07群“
所以这是我的代码,我只需设置页面标题,然后是更新面板,以及更新它的按钮......
<script runat="server">
Protected Sub Page_Load(...) Handles Me.Load
Page.Title = "Exchange ‘07 Groups"
End Sub
Protected Sub uxLnkDoClick(ByVal sender As Object, ByVal e As System.EventArgs)
uxLitLoaded.Text = "Loaded!"
End Sub
</script>
<!DOCTYPE html>
<html>
<head runat="server"></head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager runat="server"></asp:ScriptManager>
<asp:UpdatePanel runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:LinkButton runat="server" ID="uxLnkDo" OnClick="uxLnkDoClick" Text="Do Something" />
<asp:Literal runat="server" ID="uxLitLoaded" />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="uxLnkDo" />
</Triggers>
</asp:UpdatePanel>
</form>
</body>
</html>
可以做些什么?
答案 0 :(得分:1)
在设置页面标题的代码中,将文本包装在Server.HtmlDecode:
中Page.Title = Server.HtmlDecode("Exchange ‘07 Groups")
答案 1 :(得分:1)
我与SM(服务商标,而不是TM商标)的情况相同,我们使用Page.Title = "My Company ℠";
设置了页面标题。它在回发后重新编码。
我们所做的是在页面头部我们静态添加它
< title >My Company ℠< /title >
像魅力一样工作。
答案 2 :(得分:0)
它显示错误的原因是因为.Net试图安全并且HTML编码标题(用于防止可能的多种类型的攻击)。
在ASP.Net MVC中,您现在可以使用Html.Raw()方法。就直接ASP.net而言,我不知道该方法是什么。
答案 3 :(得分:0)
添加此检查
if(!Page.IsPostBack)
{
Page.Title = "Exchange ‘07 Groups"
}
答案 4 :(得分:0)
或者你可以简单地在html中设置title属性,如果它不是动态的!