Bagaimana cara mendapatkan URL perujuk dalam tindakan ASP.NET MVC? Saya mencoba untuk mengarahkan kembali ke halaman sebelum Anda melakukan tindakan.
Bagaimana cara mendapatkan URL perujuk dalam tindakan ASP.NET MVC? Saya mencoba untuk mengarahkan kembali ke halaman sebelum Anda melakukan tindakan.
Jawaban:
Anda juga dapat menggunakan Request.UrlReferrer
untuk mendapatkan URL pengarah jika Anda tidak suka mengakses Request.ServerVariables
kamus secara langsung.
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.
Anda bisa menggunakan ini
filterContext.RequestContext.HttpContext.Request.UrlReferrer.AbsolutePath
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()