【解決方法】ポストバック URL の問題

プログラミングQA


こんにちは、このコードがありますが、このコードは正しく動作しません
one.aspx のコード

<asp:HiddenField runat="server" ID="hfDistrict" Value='<%# Eval("District")%>' />
<asp:HiddenField runat="server" ID="hfDistCode" Value='<%# Eval("DistCode") %>' />
<asp:LinkButton runat="server" ID="btn_NoOfA"  PostBackUrl="~/AcData.aspx" Text='<%# Eval("NoOfCount") %>' />

AcData.aspx のコード

string k = ((HiddenField)PreviousPage.FindControl("hfDistrict")).Value;

このコードも試してください

string DistrictN1 = Request.Form["hfDistrict"]

しかし、前のページから値を取得できませんでした
実際には、古いコードからクエリ文字列を削除する必要があり、セッションを使用したくなく、postbackurl を使用して one.aspx から AcData.aspx に値を渡そうとしています。
私がやっていた正確な問題は何ですか、そしてその解決策は何ですか。 解決策を提供してくださいありがとうございます

私が試したこと:

one.aspx のコード

<pre><asp:HiddenField runat="server" ID="hfDistrict" Value='<%# Eval("District")%>' />
<asp:HiddenField runat="server" ID="hfDistCode" Value='<%# Eval("DistCode") %>' />
<asp:LinkButton runat="server" ID="btn_NoOfA"  PostBackUrl="~/AcData.aspx" Text='<%# Eval("NoOfCount") %>' />

AcData.aspx のコード

string k = ((HiddenField)PreviousPage.FindControl("hfDistrict")).Value;

このコードも試してください

string DistrictN1 = Request.Form["hfDistrict"]

解決策 2

これはすでに ASP.NET フォーラムに投稿されています。 再投稿しないでください。

解決策 1

Postbackurl のドキュメントを読んでください。フォーム値の読み取り方法の例が含まれています。

Button.PostBackUrl プロパティ (System.Web.UI.WebControls) Microsoft ドキュメント[^]

解決策 3

のコントロール値にアクセスするためのコード AcData.aspx ページは内側にある必要があります Page_Load イベント:

C#
void Page_Load (object sender, System.EventArgs e)
{
   string k = ((HiddenField)PreviousPage.FindControl("hfDistrict")).Value;
}

試すことができるもう 1 つのオプションは、使用することです Server.Transfer:

1. 削除する PostBackUrl から LinkButton

2.追加 <asp:LinkButton OnClick="LinkButton1_Click" ... />

3. 背後のコードでは、次のようなことができます。

C#
protected void LinkButton1_Click(object sender, EventArgs e)
{
    Server.Transfer("~/AcData.aspx");

}

次に、次のように宛先ページの値にアクセスできます。

C#
void Page_Load (object sender, System.EventArgs e)
{
HiddenField hid = (HiddenField)Page.PreviousPage.FindControl("hfDistrict");

if(hid != null)
      string key = hid.Value;

}

詳細については、以下を参照してください。 ASP.NET Web フォームでのクロスページ投稿

コメント

タイトルとURLをコピーしました