Извините за нубский вопрос, но, как вы видите, имя контроллера встречается в URL дважды, и это работает только в том случае, если оно встречается в URL дважды: URL
Вот как выглядит мой контроллер: Действие контроллера
И вот мое мнение:
Я знаю, что это не моя маршрутизация, потому что если я создаю другой вид, маршрутизация работает нормально. Если я просто ввожуhttp://localhost:50903/usersзатем появляется пустой экран. Я думаю, что он возвращает null из-за блока try-catch, но когда он вызывает функцию, вот что он переходит в UserDao:
А это хранимая процедура, которую он вызывает:
Помогите пожалуйста, я схожу с ума.
решение1
Вы создали область в вашем приложении?. Потому что если вы создали область и поместили в нее папку User controller, то вы можете получить имя контроллера дважды. И как я вижу ваш URL, он показывает, что ваше первое имя контроллерапользователинаписано строчными буквами, потому что, как правило, когда мы создаем область, мы в большинстве случаев называем ее строчными буквами.
Имя контроллера пользователя встречается в 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-адресе только один раз.
Примечание: Это полезно только если вы создали область в своем приложении. Если вы не создали область, то дайте мне знать, мы найдем другое решение.
Надеюсь, это вам поможет.
Спасибо.
решение2
Я обнаружил, в чем проблема. Мне пришлось изменить имя контроллера, чтобы он работал правильно. Мое приложение могло путаться, потому что имя контроллера совпадало с именем представления.