- 2006年8月 8日 17:03
- ASP.NET
マスターページの仕組みは一貫したデザインを実現したい場合、大変便利な方法ですが、コンテンツページからマスターページのデータにアクセスするのはとても面倒です。
多くの人が Master.FindControl("コントロール名")のように記述していることと思います。
この場合、コントロール名が変更になったときの修正漏れが心配になります。
ところが、@MasterTypeディレクティブを追加することで、プロパティ経由のデータアクセスが可能になります。
簡単に説明すると、コンテンツページ(*.aspx)に、<%@ MasterType virtualPath="~/MasterPage.master"%>のような1行を加えるだけです。
(MasterPage.masterの部分は各自の環境に合わせて変更してください)
あとはマスターページにプロパティを追加するだけです。
例えばLabelであれば、
public string LabelText
{
get { return Label1.Text; }
set { Label1.Text = value; }
}
のようにすればいいし、コントロールでなくても、プライベート変数などでも同様のことが可能です。
参考
プログラムによる ASP.NET マスター ページの操作
@IT:[ASP.NET]コンテンツ・ページからマスター・ページの情報に簡単にアクセスするには?[2.0のみ、C#、VB]
- Newer: スキーマコレクションからテーブル一覧を取得する方法
- Older: Singletonパターンを使ったファイル変更監視
Comments:0
Trackbacks:0
- TrackBack URL for this entry
- http://magicbox.sakura.ne.jp/mt/mt-tb.cgi/119
- Listed below are links to weblogs that reference
- 【ASP.NET】マスターページのプロパティにアクセスする方法 from 爆裂!C#野郎