代码之家  ›  专栏  ›  技术社区  ›  DLS

这在.NET中合适吗?

  •  2
  • DLS  · 技术社区  · 15 年前

    我是.NET的初学者。我的首要任务之一是为动态生成的页面动态更改元标记。

    所以,我想到了这个问题,但我不太确定在.NET中什么是“合适的”方法。

    <head>
    <title><%= title %></title>
    <meta name="description" content="<%= MetaDescription %>" />
    ...
    </head>
    

    此函数位于我的母版页codebehind中,我在page init上设置了默认标题等(以下未显示)

    Protected Title As String = ""
    
    Public Sub ChangeTitle(ByVal title As String)
       Title = title
    End Sub
    

    我还在任何产品详细信息页面中调用了这个函数来设置适当的动态标题。

    在网上可以吗?这是不是不好,还是不太好,或者你会说“如果有效,有效吗?”


    我试图将runat=“server”添加到head标签中,以使用page.title,但一旦添加了,这一行 <meta name="description" content="<%= MetaDescription %>" /> 被解码为

    <meta name="description" content="&lt;%= MetaDescription %>" />
    

    我上面的代码不能改变元描述。

    4 回复  |  直到 10 年前
        1
  •  4
  •   David McEwing    15 年前

    如果标题标记为runat=“server”,则页面的page.title属性将自动为您更改标题。

    第二个是元标记,我做了同样的事情,因为它起作用了。

        2
  •  2
  •   John Rasch    15 年前

    此的属性已经存在: Page.Title

        3
  •  2
  •   Guffa    15 年前

    添加后 runat="server" 到头部标签,以便您可以使用 Title 属性,您可以使用类似的方法向头部添加元标记:

    public static void AddMeta(string name, string content) {
       Page page = (Page)HttpContext.Current.Handler;
       HtmlMeta meta = new HtmlMeta();
       meta.Name = name;
       meta.Content = content;
       page.Header.Controls.Add(meta);
    }
    
        4
  •  0
  •   Gergo Erdosi    10 年前

    您可以使用以下示例:

    page.title = "your title here"
    
    page.metadescription = "your description here"