UpdatePanel似乎重新编码页面标题中的字符?

CBa*_*arr 8 asp.net updatepanel character-encoding page-title

我的标题中有特殊字符的页面用于正确的排版,例如它表示Exchange '07 Groups"具有正确的撇号,而不是单引号.撇号的HTML实体是 ‘

所以,我发现如果我从VB设置页面标题,标题显示就好了,但是一旦更新面板更新该HTML实体被重新编码并错误地显示为"Exchange‘ 07 Groups"

所以这是我的代码,我只需设置页面标题,然后是更新面板,以及更新它的按钮......

<script runat="server">
    Protected Sub Page_Load(...) Handles Me.Load
       Page.Title = "Exchange &#8216;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>
Run Code Online (Sandbox Code Playgroud)

关于这个还能做什么?

Mun*_*PhD 0

它显示不正确的原因是.Net 试图确保安全并对标题进行 H​​TML 编码(以防止可能的多种类型的攻击)。

在 ASP.Net MVC 中,您现在可以使用 Html.Raw() 方法。至于直接的ASP.net,我不知道该方法是什么。