Html Net MVC:如何根据url的内容动态生成元标记?

Html Net MVC:如何根据url的内容动态生成元标记?,html,asp.net-mvc,Html,Asp.net Mvc,以下是想法: 当用户想要查看/controller/action时,我希望页面有一个“robots”元标记,其值设置为“all”。 当用户希望看到/controller/action?sort=hot&page=2(即,它有一个查询字符串)时,我希望页面有一个“robots”元标记,其值设置为“noindex”。 当然,这只是一个例子,它可能是这个问题存在的另一个标签 在MVC体系结构的哪个阶段,我可以放置一个钩子,以便视图在母版页中生成我想要的标记?我做了一些类似的事情来生成页面标题,效果很好

以下是想法:

当用户想要查看/controller/action时,我希望页面有一个“robots”元标记,其值设置为“all”。 当用户希望看到/controller/action?sort=hot&page=2(即,它有一个查询字符串)时,我希望页面有一个“robots”元标记,其值设置为“noindex”。 当然,这只是一个例子,它可能是这个问题存在的另一个标签


在MVC体系结构的哪个阶段,我可以放置一个钩子,以便视图在母版页中生成我想要的标记?

我做了一些类似的事情来生成页面标题,效果很好。正常情况下,将标签放入母版页:

<%= Html.Encode(ViewData["Title"]) %>
最后一步是将要使用过滤器上下文的属性放入控制器。如果要将属性添加到所有类,可以从基本控制器继承。如果要传递参数,还存在重载。在我的应用程序中。我实际上传递了页面标题


希望能有所帮助。

非常感谢凯尔。Jutst有一件事:我不确定你说的“如果你想传递参数,也会有重载”是什么意思。如果你需要将参数传递给你的ActionFilter,你可以在属性中提供它们。请参阅此链接:
public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        filterContext.Controller.ViewData["title"] = "whatever";
    }