मुझे 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()