Предположим, у меня есть страницы
some.web/articles/details/5
some.web/users/info/bob
some.web/foo/bar/7
который может вызывать общий служебный контроллер, например
locale/change/es
или authorization/login
Как я могу получить эти методы ( change
, login
) для перенаправления на предыдущие действия ( details
, info
, bar
), проходя предыдущие параметры к ним ( 5
, bob
, 7
)?
Вкратце: как мне перенаправить на страницу, которую я только что посетил, после выполнения действия в другом контроллере?
asp.net-mvc
routing
redirect
adolfojp
источник
источник
Request.Url.AbsolutePath.ToString()
качествеAccountController
«sLogOn
метода содержит проверки для начала URL-адреса с'/'
и т.д.GET Index
Тогда скажите, что пользователь включенGET Edit
. Тогда ссылающийся URL-адрес будет,Index
но тогда, когда пользователь делает,POST Edit
реферер теперьEdit
из предыдущего запроса GET. Как я могу убедиться, чтоPOST Edit
знает URL-адрес, на который ссылается пользовательGET Edit
?Если вы хотите перенаправить с кнопки в представлении, вы можете использовать:
источник
Если вас не интересует модульное тестирование, вы можете просто написать:
источник
Предложение, как это сделать, чтобы:
,
Вы можете использовать перенаправление в представлении следующим образом:
источник
В Mvc с использованием простого html на странице просмотра с java-скриптом onclick
Это прекрасно работает. надежда кому-то помогает.
@JuanPieterse уже ответил с помощью,
@Html.ActionLink
поэтому, если возможно, кто-то может прокомментировать или ответить, используя@Url.Action
источник
Передайте параметр returnUrl (закодированный URL-адрес) для действий изменения и входа и внутреннего перенаправления на этот заданный returnUrl. Ваше действие входа в систему может выглядеть примерно так:
источник
Я использую .Net Core 2 MVC, и этот работал у меня при использовании контроллера
HttpContext.Request.Headers["Referer"];
источник
Вы можете вернуться на предыдущую страницу, используя
ViewBag.ReturnUrl
свойство.источник
Чтобы динамически создать returnUrl в любом представлении, попробуйте следующее:
Связано: URL динамического возврата MVC3 (то же самое, но из любого контроллера / действия)
источник
Для ASP.NET Core вы можете использовать атрибут asp-route- *:
Другой пример в деталях: представьте, что у вас есть контроллер транспортного средства с действиями
Индекс
подробности
редактировать
и вы можете редактировать любое транспортное средство из указателя или из сведений, поэтому, если вы щелкнули редактировать из индекса, вы должны вернуться в индекс после редактирования, а если вы щелкнули изменить из сведений, вы должны вернуться к сведениям после редактирования.
В вашем контроллере:
источник