【问题标题】:Old ASP.NET webform has some inline code getting encoded :(旧的 ASP.NET 网络表单有一些内联代码被编码:(
【发布时间】:2011-08-09 22:59:28
【问题描述】:

我有一个 ASP.NET 网络表单站点,在母版页上有一些内联代码..

<meta property="og:title" content="<%=HeadTitle %>"/>

但它将该行渲染为..

<meta property="og:title" content="<%=HeadTitle %>" />

在代码隐藏中,我有以下...

protected string HeadTitle { get; set; }

谁能帮忙?

【问题讨论】:

标签: c# asp.net webforms inline-code


【解决方案1】:

从母版页的<head> 标记中删除runat="server" 属性。

【讨论】:

    【解决方案2】:

    我更喜欢的方法是在后面的代码中设置meta的值。

    protected void myMeta(string myTitle, string myContent)
    {
        Page.Title = myTitle;
    
        if ((Page.Header != null) && (Page.Header.Controls.Count > 0))
    
        {
            Page.Header.Controls.AddAt(1, new HtmlMeta("content", myContent));
    
        }
    }
    

    .aspx 本身只有普通标签

    <head id="myHead" runat="server">
    <title></title>
    </head>
    

    【讨论】:

      【解决方案3】:

      如果它在&lt;head&gt;runat="server" 中,您可以删除runat="server" 部分,或者您可以将&lt;%= 更改为&lt;%# 并从Page_Load 中调用Header.DataBind();

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-10-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-15
        相关资源
        最近更新 更多