Bagaimana cara mendapatkan URL perujuk dalam tindakan ASP.NET MVC? Saya mencoba untuk mengarahkan kembali ke halaman sebelum Anda melakukan tindakan.
asp.net-mvc
redirect
referrer
Ryall
sumber
sumber
Jawaban:
Anda juga dapat menggunakan
Request.UrlReferrer
untuk mendapatkan URL pengarah jika Anda tidak suka mengaksesRequest.ServerVariables
kamus secara langsung.sumber
Request.UrlReferrer
sebenarnya adalah URI tetapi dari sana Anda bisa mendapatkan semua yang Anda butuhkan terkait URL perujuk. (Selengkapnya tentang URI vs URL: stackoverflow.com/questions/176264/… ).Request.ServerVariables["http_referer"]
Harus dilakukan.
sumber
Anda bisa menggunakan ini
filterContext.RequestContext.HttpContext.Request.UrlReferrer.AbsolutePath
sumber
Anda dapat mengirimkan url pengarah ke viewModel, menurut saya lebih baik pendekatannya daripada berbagi melalui negara, coba saja:
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()
sumber