lblHeadingという名前のマスターページ(sample.master)にラベルがあります。コンテンツページを読み込むときに、マスターページ内のラベルのテキストを変更することはできますか?
コンテンツページを読み込むときに、ラベルのテキストを動的に変更したいと考えています。
見出しを意味のあるものに変更したいが、私はページの内容を知った後でなければならないので、これを行う必要がある。
これは可能ですか?
lblHeadingという名前のマスターページ(sample.master)にラベルがあります。コンテンツページを読み込むときに、マスターページ内のラベルのテキストを変更することはできますか?
コンテンツページを読み込むときに、ラベルのテキストを動的に変更したいと考えています。
見出しを意味のあるものに変更したいが、私はページの内容を知った後でなければならないので、これを行う必要がある。
これは可能ですか?
はい。
strongly-type master pageを作成して、Page Loadなどのコンテンツページからそのプロパティにアクセスできます。
マスターページでラベルを変更するパブリックプロパティを作成できます。
public string Heading
{
set
{
lblHeading.text = value;
}
}
はい、可能です。 MasterPage
は、あなたのページにUserControl
のように振る舞います。これを実装する
可能なステップ:
はあなたがラベルに変更を加えることができますマスターページ上のプロパティやメソッドを作成します。例えば:あなたのPage
から
public void ChangeLabel(string label) {
lblHeading.Text = label;
}
、Page.Master
プロパティを使用してMasterPage
への参照を取得します。
MasterPage
の内容を変更するには、手順1で定義したメソッドを呼び出します。追加情報:あなたはそれを行う方法についてはCoding the Wheel's linkを試してみてください、あなたのMasterPage
型にPage.Master
をキャストする必要があるかもしれません。
上述のように、はい、あなたはこの非常に簡単な方法で........
を行うことができます。その後、例えば、あなたのページからこの(マスターページは、ID =「Label_welcome」とラベルを持って)実行します。マスターページがあるの内側に
Label mpLabel = (Label)Page.Master.FindControl("Label_welcome");
if (mpLabel != null)
{
mpLabel.Text = "Welcome Fazio!";
}
また、どのように深いあなたのコントロールに依存します。私の場合、例えば、
Label myLBL = this.Master.FindControl("HeaderContent").FindControl("myLabel") as Label;
...ので、私はこれをしなければならなかった... ContentPlaceHolderコントロール内のLabelコントロールを持っていたあなたのページから(マスターページは、ID =「Label_welcome」とラベルを持っている)、これを行います: ラベルmpLabel =(ラベル)Page.Master.FindControl( "Label_welcome"); 場合(mpLabel = nullを!) { mpLabel.Text = "ようこそファジオ!"。 } –