मुझे ASP.NET MVC कार्रवाई में रेफरल URL कैसे मिलेगा? आपके द्वारा कार्रवाई करने से पहले मैं पृष्ठ पर वापस भेजना चाह रहा हूं।
जवाबों:
Request.UrlReferrer
यदि आप Request.ServerVariables
सीधे शब्दकोश तक पहुँचना पसंद नहीं करते हैं, तो आप संदर्भित URL प्राप्त करने के लिए उपयोग कर सकते हैं ।
Request.UrlReferrer
वास्तव में यूआरआई है, लेकिन वहां से आपको वह सब कुछ मिल सकता है जो आपको रेफरल यूआरएल के संबंध में चाहिए। (URI बनाम URL के बारे में अधिक जानकारी: stackoverflow.com/questions/176264/… )।
Request.ServerVariables["http_referer"]
करना चाहिए।
आप इसका उपयोग कर सकते हैं
filterContext.RequestContext.HttpContext.Request.UrlReferrer.AbsolutePath
आप referrer url को viewModel से पास कर सकते हैं, मेरी राय में यह राज्य के माध्यम से साझा करना बेहतर दृष्टिकोण है, इसलिए प्रयास करें:
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()