Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / MVC: маршрут по умолчанию, области и поиск нужного представления / 8 сообщений из 8, страница 1 из 1
30.01.2014, 22:00
    #38544283
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVC: маршрут по умолчанию, области и поиск нужного представления
Пустой проект, пока только экспериментирую с областями.
Создал область EVN , в ней контроллер Calendar с методом Index , представление Index.cshtml , в методе просто return View();

Теперь я хочу, чтобы при обращению к корню сайта у меня открывался EVN/Calendar/Index (при этом без RedirectToAction, ну то есть, чтобы у пользователя оставался в браузере корень сайта)

В RouteConfig:
Код: c#
1.
2.
3.
4.
5.
      routes.MapRoute(
          name: "Default",
          url: "{area}/{controller}/{action}/{id}",
          defaults: new { area = "EVN", controller = "Calendar", action = "Index", id = UrlParameter.Optional }
      );

В EVNMapRegistration:
Код: c#
1.
2.
3.
4.
5.
      context.MapRoute(
          "EVN_default",
          "EVN/{controller}/{action}/{id}",
          new { controller = "Calendar", action = "Index", id = UrlParameter.Optional }
      );



Но при попытке обратиться к корню сайта получаю:
Ошибка сервера в приложении '/'.The view 'Index' or its master was not found or no view engine supports the searched locations. The following locations were searched:
~/Views/Calendar/Index.aspx
~/Views/Calendar/Index.ascx
~/Views/Shared/Index.aspx
~/Views/Shared/Index.ascx
~/Views/Calendar/Index.cshtml
~/Views/Calendar/Index.vbhtml
~/Views/Shared/Index.cshtml
~/Views/Shared/Index.vbhtml то есть MVC ищет представление не в области EVN, а в общей области. При этом метод Index выполняется где надо - в области EVN

Если обращаюсь к нужному методу
все работает

Если пропишу полный путь к представлению
Код: plaintext
return View("~/evn/views/calendar/index.cshtml");
все работает

пытался добавить namespace к MapRoute:
Код: plaintext
namespaces: new string[] { "NotesST.Areas.EVN" }

не помогает
Что я делаю не так и как добиться желаемого?
...
Рейтинг: 0 / 0
31.01.2014, 11:04
    #38544659
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVC: маршрут по умолчанию, области и поиск нужного представления
эмц, вопрос оказался слишком сложным или слишком никому неинтересным?
...
Рейтинг: 0 / 0
31.01.2014, 11:23
    #38544709
handmadeFromRu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVC: маршрут по умолчанию, области и поиск нужного представления
...
Рейтинг: 0 / 0
31.01.2014, 11:42
    #38544750
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVC: маршрут по умолчанию, области и поиск нужного представления
по второй ссылке - ответ: смотри по первой ссылке )

по первой ссылке - регистрация собственного ViewEngine


Похоже, это не мой косяк. Ну ладно, проще уж тогда полный путь прописать к представлению, спасибо.
...
Рейтинг: 0 / 0
31.01.2014, 12:27
    #38544850
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVC: маршрут по умолчанию, области и поиск нужного представления
Shocker.Pro, укажи неймспейс ко своему контроллеру в AreaRegistration.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
public class AdminAreaRegistration : AreaRegistration 
{
    public override string AreaName 
    {
        get 
        {
            return "Admin";
        }
    }

    public override void RegisterArea(AreaRegistrationContext context) 
    {
        context.MapRoute(
            "Admin_default",
            "Admin/{controller}/{action}/{id}",
            new { action = "Index", id = UrlParameter.Optional },
            new[] { "WebApplication.Controllers" }
        );
    }
}
...
Рейтинг: 0 / 0
31.01.2014, 12:41
    #38544880
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVC: маршрут по умолчанию, области и поиск нужного представления
МСУShocker.Pro, укажи неймспейс ко своему контроллеру в AreaRegistration.так тоже пробовал - не помогает

ЗЫ: не смог вынести из MSDN на что влияет этот параметр, в документации предельно лаконично
...
Рейтинг: 0 / 0
31.01.2014, 12:47
    #38544899
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVC: маршрут по умолчанию, области и поиск нужного представления
Shocker.Pro, после этого можно в IIS зарегистрировать стартовую страницу: Administrative Tools-> IIS Manager -> You Server Name -> Your site name -> Under HTTP features -> Default document
...
Рейтинг: 0 / 0
31.01.2014, 12:51
    #38544911
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVC: маршрут по умолчанию, области и поиск нужного представления
Можно, но я пока не развертывал приложение.
Я просто понять пытался - это баг MVC или я что-то не так делаю.
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / MVC: маршрут по умолчанию, области и поиск нужного представления / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]