[ad_1]
こんにちは、このコードがありますが、このコードは正しく動作しません
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
イベント:
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. 背後のコードでは、次のようなことができます。
protected void LinkButton1_Click(object sender, EventArgs e) { Server.Transfer("~/AcData.aspx"); }
次に、次のように宛先ページの値にアクセスできます。
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 フォームでのクロスページ投稿
[ad_2]
コメント