【发布时间】:2012-07-21 05:35:18
【问题描述】:
假设我有一个具有视图的路径的路由值,例如
new
{
controller = "Home",
action = "Index"
}
如何将其映射到~/Views/Home/Index.cshtml?
我知道并不是所有的视图都一定有一个动作,也不是所有的动作都一定会返回一个视图,所以这可能是个问题。
更新:
可能是这样的:
IView view = ViewEngines.Engines.FindView(ControllerContext, "Index").View;
view.GetViewPath();
但这允许我指定一个控制器,而不是假设我想使用我的 controllerContext(或者甚至可以为我想要的 Controller(字符串)模拟一个 controllerContext..
【问题讨论】:
-
我听不懂。 MVC 内置路由系统有什么问题?
-
内置路由系统很好,但我需要将
viewName/controller对转换回物理路径,以简化渲染部分视图的方法所采用的参数,而不是不必传递完整的物理路径,现在我可以传递viewName和controller名称。
标签: c# asp.net-mvc-3 routes asp.net-mvc-routing