2012-02-20 134 views
3

我有这样的路线:如何从asp.net mvc中的当前路由获取url参数?

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" }); 

,在具有这个网址的所有网页,我想SENAME值(这里是'legetoj“)

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

你知道我在做什么错吗?

回答

0

刚刚成立的同名参数的行动,你愿意接受,如:

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

它应该会自动插入变量内部的价值。

+0

不幸的是,我需要这个参数在视图中传递给另一个@ Html.Action – 2012-02-20 22:14:17

+0

@CristianBoariu - 因此将它传递给您的控制器的视图。这是做到这一点的正确方法。 – 2012-02-20 22:16:20

+0

为了更加明确:我不需要它在Category View中但是在我的头文件中...所以我的头文件已经接受另一个模型,这就是为什么我不想在这里混合这些东西...... – 2012-02-20 22:18:26