Como obtenho o URL referenciador em uma ação ASP.NET MVC? Estou tentando redirecionar de volta para a página antes de você chamar uma ação.
Como obtenho o URL referenciador em uma ação ASP.NET MVC? Estou tentando redirecionar de volta para a página antes de você chamar uma ação.
Respostas:
Você também pode usar Request.UrlReferrer
para obter o URL de referência se não gostar de acessar o Request.ServerVariables
dicionário diretamente.
Request.UrlReferrer
é na verdade o URI, mas a partir dele você pode obter tudo o que precisa sobre o URL referenciador. (Mais sobre URI vs URL: stackoverflow.com/questions/176264/… ).
Request.ServerVariables["http_referer"]
Deveria fazer.
Você pode usar isso
filterContext.RequestContext.HttpContext.Request.UrlReferrer.AbsolutePath
Você pode passar a url do referenciador para viewModel, na minha opinião é melhor abordagem do que compartilhar via estado, tente assim:
public interface IReferrer
{
String Referrer { get; set; }
}
...
public static MvcHtmlString HiddenForReferrer<TModel>(this HtmlHelper<TModel> htmlHelper) where TModel : IReferrer
{
var str = htmlHelper.HiddenFor(hh => hh.Referrer);
var referrer = HttpContext.Current.Request.UrlReferrer.AbsoluteUri;
return new MvcHtmlString(str.ToHtmlString().Replace("value=\"\"", String.Format("value=\"{0}\"", referrer)));
}
...
@Html.HiddenForReferrer()