Как настроить URL, чтобы использовать имя, отличное от моего контроллера? - PullRequest
0 голосов
/ 05 марта 2010

Я использую ASP.NET MVC для разработки веб-сайта, и мне нужно настроить свой URL, чтобы использовать имя, которое не является именем моего контроллера.

Я хочу использовать имена классов / методов:

public class CompanyController:Controller {
    public ActionResult About() {
        return View();
    }
}

Но я хочу использовать URL http://www.mysite.com/the-company/about-us для доступа к моему контроллеру / методу.

Как мне поступить?

Спасибо.

Ответы [ 2 ]

4 голосов
/ 05 марта 2010

Поскольку ваш вопрос в основном касается именования контроллеров, я бы (в отличие от ответа @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");
    }
}
2 голосов
/ 05 марта 2010

Вы будете использовать маршрутизацию URL:

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
            );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...