我正在使用ASP.NET MVC开发网站,我需要自定义我的URL以使用不是我的控制器名称的名称。
我想使用这个类/方法名称:
public class CompanyController:Controller {
public ActionResult About() {
return View();
}
}
但我想使用网址 http://www.mysite.com/the-company/about-us 来访问我的控制器/方法。
我该怎么办?
谢谢。
答案 0 :(得分:4)
由于你的问题主要是关于控制器命名,我会(与@Nissan Fan的答案相反)做至少这种概括,为了使路由更灵活并最小化路由量,你必须定义:
routes.MapRoute(
"CompanyRoute",
"the-company/{action}",
new { controller = "Company", action = "About" }
);
你的控制器当然应该这样写:
public class CompanyController : Controller
{
[ActionName("about-us")]
public ActionResult About()
{
return View("About");
}
}
答案 1 :(得分:2)
您将使用网址路由:
http://www.asp.net/learn/mvc/tutorial-05-cs.aspx
routes.MapRoute(
"AboutUs", // Route name
"the-company/about-us", // URL with parameters
new { controller = "CompanyController", action = "About" } // Parameter defaults
);