[英]How to get the URL of the Action without parameters in ASP.NET MVC
[英]how to get the last accessed action in asp.net mvc
如何在asp.net mvc應用程序中獲取上次訪問的“操作”。
示例我有一個名為“添加到收藏夾”的menuItem,單擊后會導航到一個頁面,在該頁面中我需要使用此URL填充文本框
沒有內置的機制可以做到這一點。 我要做的是填充“添加到收藏夾” URL,如下所示:
創建一個擴展方法來編碼當前URL:
public static class UrlHelperExtensions
{
public static string AddToFavourites(this UrlHelper helper)
{
return helper.RouteUrl("AddToFavourites", new { url = EncodeUrl() });
}
private static string EncodeUrl()
{
var request = HttpContext.Current.Request;
string url = request.Url.ToString();
return Convert.ToBase64String(Encoding.Default.GetBytes(url));
}
}
然后整理動作:
public ActionResult AddToFavourites(string url)
{
url = Encoding.Default.GetString(Convert.FromBase64String(url));
return View(url);
}
確保您有路線:
routes.MapRoute(
"AddToFavourites",
"Home/AddToFavourites/{url}", new { url = (string)null });
然后,您可以在菜單中使用該助手:
<a href="<%= Url.AddToFavourites() %>">Add To Favourites</a>
希望有幫助嗎?
覆蓋基礎控制器OnActionExecuted並在其中保存操作(例如在Session中)。
我不認為這是一個asp.net MVC問題。 在這里,您的“操作”指的是URL,對嗎? 您可以使用JavaScript document.referrer
來獲取上次訪問的URL。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.