Рейтинг:
0
F-ES Sitecore
Маршруты разрешаются в том порядке, в котором вы их добавили, поэтому убедитесь, что ваш пользовательский маршрут находится перед маршрутом по умолчанию
routes.MapRoute(
name: "CoursesRegistration",
url: "courses-enrolled-for/",
defaults: new { controller = "Home", action = "CoursesRegistration", url = UrlParameter.Optional }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
Если маршрут по умолчанию является первым, то он будет принимать "courses-enrolled-for" в качестве имени контроллера, поскольку url-адрес соответствует шаблону по умолчанию.
gcogco10
@F-ES Sitecore, мое приложение использует AspNetIdentity, поэтому ниже приведена моя конфигурация из routing; // Route to CoursesRegistered
маршруты.MapRoute(
название: "CoursesRegistration",
url: "курсы-зачислены-для/",
по умолчанию: новый { контроллера = "Главная", действие = "CoursesRegistration", URL-адрес = UrlParameter.Необязательный }
);
// Маршрут на главную страницу.
маршруты.MapRoute(
имя default",
url: "{controller}/{action}/{id}",
по умолчанию: new { controller = "Account", action = "Index", id = UrlParameter.Необязательный }
); // Это используется, когда используется регистрация/логин на сайте надеюсь, вы получите представление
F-ES Sitecore
Ну, эта конфигурация работает для меня, каков url-адрес, когда вы получаете 404?
F-ES Sitecore
Читая между строк, отправляете ли вы форму, требующую аутентификации, чтобы вас направили в форму входа, а затем обратно к вашему действию? Если это так, то это ваша проблема, так как ваше действие-HttpPost, а перенаправление-HttpGet. Когда вы перенаправляетесь на свой url-адрес после входа в систему, он не сохраняет исходные данные формы, поэтому вам понадобится httpget-версия действия, которое перенаправляет на исходную форму. Однако пользователь потеряет свои данные, поэтому убедитесь, что человек вошел в систему, когда он получает доступ к форме, а не после того, как он ее отправил.
gcogco10
Другими словами, [HttpGet] public ActionResult (....) {}?
gcogco10
Я пробовал его работу, проблема, которую я получаю сейчас, не сохраняется в моей таблице из базы данных
F-ES Sitecore
Вероятно, потому, что данные не представляются. Если вы перенаправляетесь на это действие со страницы входа в систему, то в этом запросе нет никаких данных, поэтому ваша модель всегда будет нулевой. Вы должны отправить сообщение из формы с методом=post непосредственно к вашему действию.
gcogco10
@F-ES сайт я делаю, https://www.codeproject.com/Questions/5277146/Asp-net-MVC-bootstrap-modal-is-not-saving-to-the-d
F-ES Sitecore
Если HttpGet работает, а HttpPost дает вам 404, который предполагает, что ваша форма не выполняет post для этого действия, где-то по пути она делает get вместо этого. Посмотрите на мой ответ на ваш новый вопрос, чтобы понять, почему.