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 に答える