powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / MVC: маршрут по умолчанию, области и поиск нужного представления
8 сообщений из 8, страница 1 из 1
MVC: маршрут по умолчанию, области и поиск нужного представления
    #38544283
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пустой проект, пока только экспериментирую с областями.
Создал область 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
MVC: маршрут по умолчанию, области и поиск нужного представления
    #38544659
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
эмц, вопрос оказался слишком сложным или слишком никому неинтересным?
...
Рейтинг: 0 / 0
MVC: маршрут по умолчанию, области и поиск нужного представления
    #38544709
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
MVC: маршрут по умолчанию, области и поиск нужного представления
    #38544750
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по второй ссылке - ответ: смотри по первой ссылке )

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


Похоже, это не мой косяк. Ну ладно, проще уж тогда полный путь прописать к представлению, спасибо.
...
Рейтинг: 0 / 0
MVC: маршрут по умолчанию, области и поиск нужного представления
    #38544850
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
MVC: маршрут по умолчанию, области и поиск нужного представления
    #38544880
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУShocker.Pro, укажи неймспейс ко своему контроллеру в AreaRegistration.так тоже пробовал - не помогает

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


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