2011-11-15 16 views
0

私はマスターページを持ち、マスターページのコンテンツページにはテキストボックスとドロップダウンがあります ドロップダウンリストの値はコンテンツページによって異なる場合がありますasp.netを使用してマスターページからコンテンツページにアクセスするドロップダウンコントロール

ドロップダウンが含まれていてもよい例えば、1つのコンテンツページ用

branchname、 市、 アドレス

とドロップダウンが

のような値を有していてもよく、同じマスターページの下の他のコンテンツページ用にしましょう

Contactnumber、 EMAILID、 ........... ......... など.....

ので、私が結合することができますどのように私を助けてください私のコンテンツページからそのドロップダウン

ありがとう。

+0

ContentPagesにコントロールをバインドさせるのはなぜですか? ContentPageは特定のマスターページに依存してはいけません。逆も同様です。 –

答えて

6

次のように行ってください。

私はマスターページでプロパティを作成し、呼ばれているそのコンテンツページ上のように:

public DropDownList SearchList 
{ 
    get { return ddlFilterText; } 
} 

とコンテンツページで:

// place here the datasource through which the dropdown is biding 

Master.SearchList.DataSource = null; 

Master.SearchList.DataBind(); 
0

あなたが行くと、このようなあなたのコンテンツページからのドロップダウンコントロールのためになります:DropDownListコントロールとして

VAR yourdropdown = Page.Master.FindControl(「ドロップダウンのID」);

しかし、masterpageのloadイベントはページのloadイベントによって継承されるので、それをダブルバインドしないように注意してください。

0

ドロップダウンの値が個々のコンテンツページによって決定される場合は、これらをキャッシュ、セッション、または一部の状態永続化メカニズムに格納することをお勧めします。

0

これを行う最もクリーンな方法は、各コンテンツページにMasterType指示文を追加することです。あなたはそのようなマスターページのコントロールを参照することができるコンテンツページであなたの分離コードから次に

<%@ MasterType virtualpath="~/Masters/Master1.master" %> 

DropDownList myDropDownList = Master.TheDropDownList; 

アンドレアスあなたはASP.NET Event Life Cycleを意識する必要があることで正しいですので、あなたが実際にバインド正しい時間にドロップダウンします。

0

かなり簡単です。コンテンツページからコントロールを見つけることができます。

ここでは、私がドロップダウンコントロールにバインドするサンプルを示します。

マスター:

<asp:DropDownList runat="server" ID="ddlMaster" DataTextField="Name" DataValueField="Id" /> 

コンテンツページ:

var ddlMaster = (DropDownList)Master.FindControl("ddlMaster"); 

ddlMaster.DataSource = dt; 
ddlMaster.DataBind(); 

マスターページ上のテキストボックスを編集する必要がある場合は、あなたもそのコントロールを見つけ、コンテンツページから、それに変更を加えることができます。

+0

しかし、私はこのコードを介してcontantページのddlmasterを見つけるためにnull値が来る –

関連する問題