私の問題は、Page_loadがページ上のボタンクリックイベントの前に発生するということです。同じページにポストバックしてクエリーストリングのデータを転送したい場合、クエリー・ストリング(details.aspx => details.aspx?id = 2)の値に応じて、page_Loadでそのデータを読み込み、gridviewにデータを取り込みたいとします。クエリ文字列ASP.NETと同じページに投稿
どうすればいいですか?ありがとうございました!
私の問題は、Page_loadがページ上のボタンクリックイベントの前に発生するということです。同じページにポストバックしてクエリーストリングのデータを転送したい場合、クエリー・ストリング(details.aspx => details.aspx?id = 2)の値に応じて、page_Loadでそのデータを読み込み、gridviewにデータを取り込みたいとします。クエリ文字列ASP.NETと同じページに投稿
どうすればいいですか?ありがとうございました!
private void Page_Load()
{
if (IsPostBack)
{
// DO what you need to do from the postback here.
}
}
UPDATE:
ご使用は、それがもはやポストバック(Response.Redirectを)あるページにリダイレクトされている場合。 その場合、私が見るオプションはpage_loadにあり、特定のクエリ文字列のパラメータをチェックしてそれに作用します。
if(!String.IsNullOrEmpty(Convert.ToString(Request.QueryString["myQueryParam"])))
{
}
これは私の質問に答えません。自分で試してみてください。あなたは "response.write(request.querystring [" id "])}}と何が起こるかを知っていれば、あなたは" response.redirect( "default.aspx?id =" + txt.text)これは私の質問に対する答えではありません。あなたが確信が持てない場合、あなたは答えるべきではありません。 – Johan
あなたの質問にはどこにも表示されません。あなたはresponse.redirectを使用しています。 – ghimireniraj
@Johan:リダイレクトは転記と同じです。 – xan
Request.Form.Keys
には、ポストバックの原因となったボタンIDが含まれています。 これをクリックすると、クリックされたボタンを検出できます。
また、ASPハイパーリンクコントロールを使用して、クエリ文字列URLをNavgateUrlプロパティに配置します。あなたはデータバインディングを行っている場合
(あなたが詳細ページから、必要な多くのポストバックデータを持っていない限り)、このようなものは
<asp:HyperLink ID=”linkTest1” runat=”server” NavigateUrl='<%# Eval(“ColumnName”, “Details.aspx?ID={0}”)' %>
を働くだろうそれとも、THS
のように背後にあるコードからIDを設定することができますlinkTest.NavigateUrl = "Details.aspx?ID=" + IdVariable;
これは、彼がただ単に彼がQUと同じページにリダイレクトする方法を尋ねたそうですResponse.Redirectを
を行うよりも良いだろうエリーストリング。そのちょっと遅れて誰が次のように言及していない理由を私は驚いている:
もちろんvoid Page_Load(...)
{
if (!Page.IsPostBack)
{
Response.Redirect("Details.aspx?id=2");
}
}
を私はちょうどあなたの説明に基づいてURLをリダイレクト記述しています。そのURLとクエリ文字列をプログラムで設定することができます。
他人に役立つことを願っています。
私はあなたのコメントに従って答えを更新しました。 –