【问题标题】:Is this proper in .NET?这在.NET中合适吗?
【发布时间】:2014-05-30 09:31:53
【问题描述】:

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

所以,我想出了这个,但不太确定在 .NET 中什么被认为是“正确”的方法。

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

这个函数存在于我的母版页代码隐藏中,我在页面初始化时设置了一个默认标题等(下面没有显示)

Protected Title As String = ""

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

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

这在 NET 中被认为可以吗?这是不好的还是骇人听闻的,或者你会说“如果它有效,那么有效?


我尝试将 runat="server" 添加到 head 标签中,以使用 Page.title 但一旦添加,此行 &lt;meta name="description" content="&lt;%= MetaDescription %&gt;" /&gt; 将被解码为

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

然后我上面的代码无法更改元描述。

【问题讨论】:

    标签: vb.net


    【解决方案1】:

    如果标题标记为 Runat="Server",则页面的 Page.Title 属性将自动为您更改标题。

    第二个元标记我做同样的事情,因为它有效。

    【讨论】:

    • 我起初尝试过 - 将 runat="server" 添加到元标记,但一旦添加,这一行 被解码。
    【解决方案2】:

    已经有一个属性:Page.Title

    【讨论】:

      【解决方案3】:

      runat="server" 添加到head 标签以便您可以使用Title 属性后,您可以使用类似这样的东西将meta 标签添加到head:

      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】:

        你可以使用这个例子:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-01-21
          • 2013-04-07
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多