2012-06-04 3 views
5

Я пытаюсь найти лучший способ для целевой страницы, и я бы хотел, чтобы мой url был таким.ASP.NET MVC 3 Landing Page

  • www.myweb.com < === Landing Page
  • www.myweb.com/Home < === Главная

Тогда я придумал это.

routes.MapRoute(
    "Landing", 
    "", 
    new { controller = "Home", action = "Landing" } 
); 

routes.MapRoute(
    "Home", 
    "Home", 
    new { controller = "Home", action = "Index" } 
); 

routes.MapRoute(
    "Default", 
    "{controller}/{action}/{id}", 
    new { controller = "Home", action = "Index", id = UrlParameter.Optional } 
); 

Первый (Landing), чтобы сделать www.myweb.com перенаправление на View/Home/Landing.cshtml. Второй (Home) - это mke www.myweb.com/Home перенаправить на View/Home/Index.cshtml.

Хотелось бы спросить, есть ли какие-то лучшие способы, чем это? или это просто отлично? Спасибо за ваш совет.

+0

Я не вижу никаких проблем с этим. Вы ? – Shyju

ответ

3

Это выглядит хорошо для меня. Одно второстепенное: второе правило является избыточным. Если вы оставите его полностью, третье правило покроет его: /.

+0

Оба верхних правила являются излишними. –

+0

@ Dmitry Я не думаю, что первое правило избыточно, не так ли? Без этого корень ** www.myweb.com ** будет маршрутизироваться в/Home/Index вместо/Home/Landing. – McGarnagle

+0

Вы правы, я не понимал, что это другое действие. –