6

マスター ページに ID label1 のラベルがある場合、コンテンツ ページでその ID を制御するにはどうすればよいですか。ID は継承されないため、本質的に制御することはできません。たとえば、id contentLabel のコントロールがある場合、contentLabel と入力するだけでコードにアクセスできます。

4

1 に答える 1

10

次の 2 つのオプションがあります。

1 : コンテンツの aspx でMasterTypeが指定されていることを確認します。    

<%@ MasterType VirtualPath="~/yourMasterPageName.master" %>

これを行うと、コンテンツ ページはマスター ページから何を期待するかを認識し、インテリセンスを得ることができます。これで、マスター ページのコード ビハインドでラベルの Text プロパティを公開できるようになりました。

public string ContentLabelText
{
    get { return contentLabel.Text; }
    set { contentLabel.Text = value; }
}

次に、コンテンツ ページのコード ビハインド ページ ala でアクセスできます。

Master.ContentLabelText = "hah!";

または、2 : 次のようにFindControl()を介してラベルにアクセスできます。

var contentLabel = Master.FindControl("contentLabel") as Label;
于 2012-06-21T20:12:35.763 に答える