【问题标题】:How to get url parameter from current route in asp.net mvc?如何从asp.net mvc中的当前路由获取url参数?
【发布时间】:2012-02-20 22:09:35
【问题描述】:

我有这样的路线:

http://localhost/c/61/legetoj

其定义为:

 routes.MapLocalizedRoute("Category",
                        "c/{categoryId}/{SeName}",
                        new { controller = "Catalog", action = "Category", SeName = UrlParameter.Optional },
                        new { categoryId = @"\d+" },
                        new[] { "Nop.Web.Controllers" });

现在,在所有具有此 url 的页面上,我想获取 SeName 值(这里是 `legetoj')

在我的视图(标题)中,我已经尝试过:ViewContext.RouteData.Values["SeName"] 但它返回空..

你知道我做错了什么吗?

【问题讨论】:

    标签: asp.net-mvc-3 razor


    【解决方案1】:

    只需设置一个与您希望接受的名称参数相同的操作,例如:

    public ActionResult Category(int categoryId, string SeName) {
    // do stuff
    }
    

    它应该自动将该值插入到变量中。

    【讨论】:

    • 不幸的是,我需要在视图中将此参数传递给另一个@Html.Action
    • @CristianBoariu - 所以将它从你的控制器传递给视图。这才是正确的做法。
    • 更明确地说:我在类别视图中不需要它,但在我的标题中......所以我的标题已经接受了另一个模型,这就是我不想在这里混合这些东西的原因。 ..
    猜你喜欢
    • 2010-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-10
    • 1970-01-01
    • 1970-01-01
    • 2017-04-09
    • 2015-11-03
    相关资源
    最近更新 更多