2011-04-24 93 views
1

我试图做与ASP.Net MVC 3如下:ASP.Net MVC 3:多个视图/ URL到一个控制器动作

我有很多的“扁平化页面”,这基本上是HTML没有附加dot.net代码的文件。

我希望能够通过路由URL请求这些页面,但我不想手动将每个URL添加到路由。

所以我的问题是:是否可以定义一个默认路由,它使用相同的控制器/动作,但基于请求的URL返回一个视图?

例如/首页/和/ profile文件将使用意见/home/about.cshtml和/profile.cshtml 但都将使用相同的控制器和行动,这非常简单,只是云:

return View(); 

的原因:我做网站的所有页面,需要dot.net代码。然而另一个人正在做所有的“平面页面”(信息页面等)。

我希望他能够添加新的页面,只需添加一个CSHTML文件(如,他将与web表单创建ASPX文件,没有后台代码)

这是必要的,因为我会以其他方式编辑global.asax每次他添加一个页面,这是经常。

如果这是不可能的,我会坚持使用web表单,我真的不希望:-(

回答

4

你可以说,作为一个参数的视图名称的操作;事情是这样的:

public ActionResult StaticPage(string viewName) 
{ 
    return View(viewName); 
} 

然后定义一个路由,因此的viewName不是一个参数,而是为URL的一部分:

"/Static/{viewName}" 
+0

+1那会做的伎俩,感谢:-) – Steffen 2011-04-25 09:24:38

相关问题