2017-10-30 4 views
0

マスターページにボタンがあり、クリックすると、いくつかのパラメータを必要とするマスターページのメソッドが呼び出されます。パラメータの値は、マスターページとコンテンツページの両方のテキストボックスとドロップダウンリストに格納されます。マスターページのコントロールから値を取得できますが、コンテンツページのコントロールから値を取得する方法がわかりません。クリックしたときのマスターページのボタンコンテンツページのコントロールから値を取得

私は最後の一日をここや他のサイトでさまざまな答えを見ながら過ごしましたが、私にとってうまくいく解決策を見つけたり見つけたりしませんでした。

コントロールページにボタンを置くことを示唆している回答も見たことがありますが、それは少なくとも12ページでコードを複製することを意味し、私がしなければそのルートを下ろさなければならないことは本当にありません。

私はすでにコンテンツページでマスターリファレンスタグを使用していると言っても忘れてしまいました。

EDIT

私はクラスを作成し、コンテンツページに値を設定した場合、何がマスターページに値を取得するための最良の方法だろう。それが可能であると仮定しますか?

答えて

0

マスターページにSetYourDropdownValue(string val)のようなパブリックメソッドを追加することをお勧めします。 コントロールページのload-eventhandlerで、ドロップダウンから選択した値をマスターページに渡します。

MyMainPage m = (MyMainPage)Master; 
m.SetYourDropdownValue("your value"); 

代わりの方法があります。Master Pages Referenceです。

あなたはあなたのコントロールページのマークアップで参照タグを次のように設定することができます

<%@ MasterType virtualPath="~/MasterPage.master"%> 

そして、それがさらに容易になります。

Master.SetYourDropdownValue("your value"); 

SetYourDropdownValue-方法であなたは変数に値を保存します。 マスターページのclickイベントハンドラで、変数から値を取得できます。

文字列を渡す代わりに、1つ以上のコントロールを渡すこともできるので、値を保存するのではなく、参照を保存するだけです。

+0

ご返信ありがとうございます。私はすでに参照タグを設定していることを忘れていました。私はあなたの解決策を試してみて、私がどうやったらどうなるか教えてください –

+0

あなたの提案は私にいくつかのアイデアを与えてくれました。私はクラスの使用やそのセッション変数の失敗を見ています –

関連する問題