我搜索的时间比我想要的解决方案要长,但却找不到解决方案。
我的网站有数百个静态页面。
为每个视图添加一个ActionResult非常繁琐。
特别是因为我必须停止调试才能编辑代码。
例如,如果我想添加一个关于页面,我必须添加...
public ActionResult About()
{
return View();
}
在我看来,我应该能够使这个动态并通过路线传递视图。
我的意思是,只要我有一个名为About.cshtml的文件,那么为什么我需要添加一个自定义的ActionResult。
我宁愿做这样的事情,但它不起作用。
public ActionResult Index(_ViewName)
{
return View(_ViewName);
}
是否可以使用通用的ActionResult并通过URL路由传递视图的名称?
答案 0 :(得分:0)
使用默认路线,您可以编辑index
方法,如下所示。
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
public ActionResult Index(string id)
{
return View(id);
}
您需要做的是根据您要解析的名称添加视图。
示例强>
/home/index/about
/home/index/contact
(About.cshtml
和Contact.cshtml
次观看次数应在/Views/Home/
文件夹中)
谢谢!