簡體   English   中英

如何在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM