Получение имени контроллера дважды в URL с помощью ASP.NET MVC

Извините за вопрос noob, но, как вы можете видеть, имя контроллера дважды появляется в URL, и оно работает, только если оно дважды в URL: URL

Вот как выглядит мой контроллер: Действие контроллера

И вот мой взгляд:

Посмотреть

Я знаю, что это не моя маршрутизация, потому что, если я создаю другое представление, маршрутизация работает нормально. Если я просто http://localhost:50903/users, то появится пустой экран. Я думаю, что он возвращает null из-за блока try-catch, но когда он вызывает функцию, это то, к чему он обращается в UserDao:

User.Dao

И это хранимая процедура, которую она вызывает:

Хранимая процедура

Пожалуйста, помогите, я схожу с ума

0 ответов

Я обнаружил, что было не так. Мне пришлось изменить имя моего контроллера, чтобы он работал правильно. Мое приложение могло запутаться, потому что имя контроллера было таким же, как имя представления.

Вы создали область в своем приложении? Потому что, если вы создали область и поместили в нее папку User controller, вы можете получить имя контроллера дважды. И, как я вижу ваш URL, он показывает, что ваши первые пользователи Controller name пишутся строчными буквами, потому что обычно, когда мы создаем область, мы называем ее строчными буквами большую часть времени.

Имя контроллера пользователя в URL-адресе отображается дважды, так как его имя включено в URL-адрес, как показано ниже:

routes.MapRoute(
      name: "user_route",
      template: "{area:required}/{controller:required}/{action}/{id?}",
      defaults: new { area = "users", controller = "Users" 
      });

удалить область из маршрута.

routes.MapRoute(
      name: "user_route",
      template: "{controller:required}/{action}/{id?}",
      defaults: new { controller = "Users", action = "Index" 
      });

Таким образом, имя вашего контроллера будет отображаться в URL только один раз.

Примечание. Это полезно, только если вы создали область в своем приложении. Если вы не создали область, то дайте мне знать, что мы найдем другое решение для этого.

Надеюсь, что это поможет вам.
Спасибо.

Другие вопросы по тегам