- ベストアンサー
Cross-Page Postingができない
下記ページを参考にしてVisualStudio 2015を使用してWebFormを2つ作成(Page1とPage2)して みました。 https://code.msdn.microsoft.com/10-Web-C-9dc19c82 参考にしたページによるとCross-Page Postingを行うとPage1からPage2に遷移した時に Page1に入力した値をPage2に引き継げるようなことが書いてありますが値がうまく引き継げません でした。何か設定が必要なのでしょうか。また、皆さんの環境ではうまくいきますでしょうか。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
VS2015ではうまくいかないですね。 VS2010ではきちんと動作しました。 参考にされているページのサイトは動作条件がVS2005とあるので、VS2015では動作しないか、何らかの設定をしないと確認できないのかもしれません。 お力になれずにすみません。 頑張ってください。
その他の回答 (2)
- oboroxx
- ベストアンサー率40% (317/792)
これだけの情報だとよくわからないので、差し支えなければ、.aspxファイルの<body>内のHTMLを見せてはもらえないでしょうか。 原因がわかるとは限りませんが。
補足
ご回答ありがとうございます。返答遅れまして申し訳ありません。 以下<body>内のソースになります。 何かわかりますでしょうか。 【Page1(遷移元)】 ※ID="Button3"がCross-Page Postingを行うためのボタンになります。 <body> <form id="form1" runat="server"> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <br /> <br /> <div> <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="~/Account/Page2.aspx">Page2</asp:HyperLink> <br /> <br /> <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Response.Redirect" /> <br /> <br /> <asp:Button ID="Button3" runat="server" PostBackUrl="~/Account/Page2.aspx" Text="Cross-Page Posting" /> <br /> <br /> <asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="Server.Transfer" /> </div> </form> </body> 【Page2(遷移先)】 <body> <form id="form1" runat="server"> <div> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> </div> </form> </body>
- oboroxx
- ベストアンサー率40% (317/792)
FindControl()での引数であるコントロールIDの大文字や小文字などのスペルの間違いはないですか?
補足
ご回答ありがとうございます。以下、Page2(遷移先)の画面読み込み時の ソースです。 デバッグモードで見てみるとそもそもPage.PreviousPage がNull となっており前のページを取得できていないようです。 Server.Transfer()による遷移であれば取得できて正しく動作します。 protected void Page_Load(object sender, EventArgs e) { if (Page.PreviousPage != null) { TextBox text1 = (TextBox)Page.PreviousPage.FindControl("TextBox1"); if (text1 != null) { TextBox1.Text = text1.Text; } } }
お礼
ご回答ありがとうございます。 バージョンによって違いがあるみたいですね。 貴重な情報ありがとうございました。