0

在C#中离开当前页面时是否可以获得下一页的URL?

在我当前的页面上,我想在下一页加载之前捕获下一页的 url。我不知道从哪里开始......或者我会在页面上的哪个方法中放置这个逻辑(例如 page_load、buttonClick 等)

4

3 回答 3

2

我不认为可以“捕获下一页的url”,但可以尽快获取当前请求。因此使用Global.asax

public class Global : System.Web.HttpApplication
{
    protected void Application_BeginRequest(object sender, EventArgs e)
    {
        HttpContext context = base.Context;
        HttpResponse response = context.Response;
        HttpRequest request = context.Request;
        var url = request.RawUrl;
        // and many other properties ...
    }
}
于 2013-02-05T15:56:06.630 回答
0

假设您正在通过查询字符串进行分页并且您的当前页面是:

url.com/default.aspx?page=1

然后获取下一页 URL 只会增加页面查询字符串,因此:

if (!String.IsNullOrempty(Request.QueryString["page"]) {
  int nextPageNumber = int.Parse(Request.QueryString["page"] + 1; 
  string nextPageUrl = String.Format("url.com/default.aspx?page={0}, nextPageNumber);
}

理想情况下,您将使用UriBuilder来重建域,而不是像我在 String.Format 方法中那样对其进行硬编码。我这样做只是为了简洁。

于 2013-02-05T15:50:14.240 回答
0

CodeProject 有一个项目用于在关闭或退出页面上保存更改,这可能对您有所帮助。

于 2013-02-05T19:16:47.687 回答