0

私はウィザードのような一連のページに取り組んでおり、それらの間を移動するためにクロスページポストバックに依存しています。

ページのフォーム データを保存するには、前のページで Load イベントをトリガーできる必要があります。

この種の状況では、宛先ページの PreviousPage プロパティにアクセスするだけで、前のページの読み込みイベントがトリガーされると言われましたが、何らかの理由でこれが機能していないようです。

PreviousPage プロパティが null でない場合、明示的に前のページでロード イベントをトリガーするために他にできることはありますか?

ご協力いただきありがとうございます、

ヨン

4

3 に答える 3

1

前のページのロードで実行している永続化ロジックをページのメソッドに移動することを検討しましたか?

そうすれば、次のようにヒットできます:

if(PreviousPage != null)
   PreviousPage.DoThatSavingThing();

明らかに、すべてのページにメソッドを追加しない限り、追加する特定のメソッドを取得するには、それを入力する必要があります。

于 2010-02-21T22:03:18.710 に答える
0

これは少し混乱するように思えますが、データにアクセスしたい場合は、ASP.NET セッション キャッシュなど、簡単にアクセスできる場所にそのデータを保存することをお勧めします。したがって、データを取得するために以前に移動したページに戻るのではなく、最初のページに初めて到達したときにデータをキャッシュし、ユーザーが 2 番目のページに移動したときにその情報にアクセスできるようにします。

于 2010-02-21T22:01:40.813 に答える
0

追加するには、「強く型付けされた」前のページを取得する 2 つの方法を使用してテストしました。

  1. 宛先への参照を追加しました:

  2. 宛先に PreviousPage ディレクティブを追加しました。

宛先で PreviousPage プロパティにアクセスすると、Load イベントが PreviousPageName ページ (ソース) で発生しました。

例 (PreviousPageName (ソース ページ) に Test という名前のパブリック プロパティがあると仮定します):

protected void Page_Load(object sender, EventArgs e)
{
    if (PreviousPage != null)
    {
        //Using a reference, you have to cast:
        PreviousPageName x = (PreviousPageName)PreviousPage;
        string test = x.Test;

        //Using the PreviousPage directive, you do not need to cast:
        string test2 = PreviousPage.Test


    }
}
于 2010-02-21T22:27:34.600 に答える