2012-01-14 6 views
0

私はC#aspxを使用していますが、私がしようとしているのは別のページからbutton.visible値を変更することです。別のページからコントロール値を変更するproblme

マイページはメインページと2つのiframeから構築され、メインページはメニューとして使用され、iframe 1はログインページ、iframe 2は自分のサイトのページです。

メニューページにはデータベースを編集できる管理ボタンがありますが、このボタンの表示はデフォルトではfalseです。管理者がログインiframeにログインするとボタンが表示されます。

私がこれまで試してみましたが、何

を私はそのボタンを変更するには非常に多くの方法で試してみましたが、どれも働いた:

1)を他のページや変化にrecive、セッション中にボタンを送信します -

2)ページ全体を送信し、変更する - 動作しない。

3)ボタンをパブリックに静的にし、変更する - 機能しない。

他のページのボタンのテキストを変更しても、ボタンが置かれているメニューページのボタンがテキストを変更していないことに気付きました。

私が気づいたことは、ページ上のボタンを押したときに、ページが更新されているようなものです(リフレッシュしていますが値を保持しています)。

ありがとうございました。

答えて

0

私はあなたの説明から、他のフレームのボタンの表示をログイン・フレーム内のポストバックから変更しようとしていると仮定しています。短い答えは、他のフレームのためにサーバーからクライアントに何も送信されないため、これが機能しないことです。

ボタンを含むページ(他のフレームにある)のポストバックにボタンの表示を設定する必要があります。

フレームの使用を削除し、マスターページを使用してページ/サイトのログイン部分を提供する方がよい場合があります。これにより、ページ上のボタンのポストバックを変更することができますあなたのサイト。

試行した試行では、ページが再作成されるたびにポストバックごとにコントロールが再作成され、ページがアンロードされるたびにポストバックされるため、これらの3つはすべて避けてください。後続のサーバーコールでアクセスすると、コントロールとページは最初のリクエストに配置されるため、ページまたはコントロールの状態が有効であるという保証はありません。ページのライフサイクルの詳細については

、ASP.NETページのライフサイクルの概要を見て: http://msdn.microsoft.com/en-us/library/ms178472.aspx

関連する問題