在C#中离开当前页面时是否可以获得下一页的URL?
在我当前的页面上,我想在下一页加载之前捕获下一页的 url。我不知道从哪里开始......或者我会在页面上的哪个方法中放置这个逻辑(例如 page_load、buttonClick 等)
在C#中离开当前页面时是否可以获得下一页的URL?
在我当前的页面上,我想在下一页加载之前捕获下一页的 url。我不知道从哪里开始......或者我会在页面上的哪个方法中放置这个逻辑(例如 page_load、buttonClick 等)
我不认为可以“捕获下一页的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 ...
}
}
假设您正在通过查询字符串进行分页并且您的当前页面是:
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 方法中那样对其进行硬编码。我这样做只是为了简洁。
CodeProject 有一个项目用于在关闭或退出页面上保存更改,这可能对您有所帮助。