【问题标题】:How to use meta tags on pages in asp.net webpages如何在 asp.net 网页中的页面上使用元标记
【发布时间】:2017-03-12 09:48:05
【问题描述】:

如何在使用 asp.net 网页的单个页面上使用元标记。我目前正在使用带有默认元标记的布局母版页,它可以跨多个页面工作,但我似乎无法找到一种方法来覆盖主文件子页面的元标记。

在子页面上,我有以下内容,但它确实有效。

@{
    Layout = "~/siteLayout.cshtml";
    Page.Title = "Meta Page";
    Page.MetaKeywords = "keyword1, keyword2, keyword3";
}

谁能帮助或指出正确的方向,谢谢!

【问题讨论】:

    标签: asp.net razor meta-tags asp.net-webpages


    【解决方案1】:

    在你的布局中使用这样的东西:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="utf-8">
        <title>@ViewBag.Title</title>
        <meta name="keywords" content="@ViewBag.Keywords">
    

    然后在您的控制器、布局或视图中,您必须设置ViewBag.TitleViewBag.Keywords。这是一个如何在使用上述布局的视图中设置它的示例。

    @{
       Layout = "~/Views/Shared/_YourLayout.cshtml";
       ViewBag.Title = "My Page Title";
       ViewBag.Keywords = "keyword1, keyword2";
    }
    

    ViewBag 属性使您能够动态地将值从控制器共享到视图。在内部,ViewBag 属性以名称/值对的形式存储在 ViewData 中,就像字典一样,您可以在其中存储要在视图中使用的随机内容。

    【讨论】:

    • 嗨@Rawson,每当我按照您的解释在页面上使用 viewbag 属性时,都会遇到运行时错误。这适用于网页还是严格的 MVC?我不确定这是否是错误的原因。
    • 这是 ASP.NET MVC 框架完全支持的 Razor 语法(它在 ASP.NET Web 窗体和 ASP.NET 网页中不起作用)。我认为您正在混合网页和 MVC 框架。请先阅读此主题:link
    猜你喜欢
    • 1970-01-01
    • 2023-04-06
    • 2011-08-20
    • 2011-01-18
    • 2011-09-06
    • 1970-01-01
    • 2016-04-16
    • 1970-01-01
    • 2019-05-08
    相关资源
    最近更新 更多