Yönlendiren URL'yi bir ASP.NET MVC eyleminde nasıl alırım? Siz bir eylemi çağırmadan önce sayfaya geri yönlendirmeye çalışıyorum.
Yanıtlar:
Sözlüğe doğrudan Request.UrlReferrer
erişmekten hoşlanmıyorsanız, yönlendiren URL'yi almak için de kullanabilirsiniz Request.ServerVariables
.
Request.UrlReferrer
aslında URI'dir, ancak oradan yönlendiren URL ile ilgili ihtiyacınız olan her şeyi alabilirsiniz. (URI ve URL hakkında daha fazla bilgi: stackoverflow.com/questions/176264/… ).
Request.ServerVariables["http_referer"]
Yapmak gerekir.
Bunu kullanabilirsin
filterContext.RequestContext.HttpContext.Request.UrlReferrer.AbsolutePath
ViewModel'e yönlendiren url'yi iletebilirsiniz, bence daha iyi bir yaklaşım daha sonra devlet aracılığıyla paylaşmak, şunu deneyin:
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()