Вы можете использовать Request.Url.AbsoluteUri
, чтобы получить абсолютный URL текущей страницы.
Затем вы можете использовать эту перегрузку метода @Url.Action
, который принимает объект RouteValueDictionary
в качестве третьего параметра для построения маршрута.params / querystrings.
public virtual string Action (string actionName,
string controllerName,
RouteValueDictionary routeValues);
Таким образом, ваш код представления будет
<a href="@Url.Action("Logoff", "Account", new { url = Request.Url.AbsoluteUri })">
<span class="logOffSpan">Sign Out</span>
</a>
В основном это сгенерирует тег anhcor со значением атрибута href
, установленным в /Account/Logogg?url={yourCurrentPageUrl}
, где {yourCurrentPageUrl}
будет заменен на URL вашей текущей страницы.
Теперь в вашем методе действия вы можете использовать метод Redirect
с этим абсолютным значением URL, которое будет доступно в вашем параметре url
.
public ActionResult LogOff(string url)
{
// Your existing logic
return Redirect(url);
}