2011-01-11 4 views
1

私はasp.netページ間でデータを転送する際にMSDNの指示に従っています。ASP.NETのNullReferenceException PreviousPageプロパティ

しかし、 'PreviousPage'プロパティを使用して以前のページコントロールにアクセスすると、PreviousPageがオブジェクトのインスタンスに設定されていないというnull ref例外が発生します。ここで

は私のコードです:

public partial class Portal : System.Web.UI.Page 
{ 
    public string Username 
    { 
     get 
     { 
      return txt_User.Text; 
     } 
    } 

そして、これは最初のページ上のボタンを提出している:MSDNあたりとして

protected void Page_Load(object sender, EventArgs e) 
    { 
     Username = PreviousPage.Username; 
    } 

:2ページ目の

<asp:Button ID="btn_Submit" runat="server" onclick="btn_Submit_Click" 
    PostBackUrl="~/Query.aspx" 

前のページプロパティ説明私はまた、2ページ目のマークアップファイルの先頭にこれを追加しました:

また、代わりにServer.Transferを試して、ページを切り替えると、同じエラーが発生します。ここ

EDITは、最初のページのクリックイベントにServer.Transferのを使用している:

protected void btn_Submit_Click(object sender, EventArgs e) 
    { 
     Server.Transfer("Query.aspx"); 
    } 

EDIT、イベントハンドラなしのボタンコード:

<asp:Button ID="btn_Submit" runat="server" 
    PostBackUrl="~/Query.aspx" 
    style="height: 26px" Text="Submit" /> 
+0

どこでServer.Transferを試してみましたか?次に使用したコードを表示できますか? – David

答えて

0

これは私のために正常に動作します。 PreviousPageがnullの場合は、一般に、ページ間のポストバックの結果として現在のページが表示されなかったことを示します。

2ページ目でエラーが発生していることを確認できますか?

また、あなたのボタン定義には何ですか?onclick="btn_Submit_Click"元のページのクリックイベントに応答するコードはありません。ターゲットページで処理されることを覚えておいてください。

編集:質問を更新したので、私の最後のポイントが問題のようです。元のページからサーバー転送を行っています。これはで、はクロスページポストバックなので、PreviousPageはnullです。

ボタンからonclick属性を削除し、btn_Submit_Clickを削除します。

+0

イベントハンドラを削除しましたが、それと同じエラーです。このエラーは、PreviousPage.Usernameがアクセスされているコードビハインドファイルの2ページ目に表示されます。 – sean

+0

ボタンコードを修正しましたか?今はどんな感じですか? –

+0

はい、上記を参照してください。 PostBackUrlを使用するだけで、イベントハンドラとbtn_Submit_Clickを削除しました。 – sean

関連する問題