asp.Netまとめの母版
3114 ワード
1、マスターを使用する場合、コンテンツのContentコントロールはマスターページのContentPlaceHolderコントロールと一つ一つ対応しなければならない.
2、マスターページのContentPlaceHolderコントロールにデフォルトの内容がある場合、コンテンツページにContentコントロールがない場合、マスターページの内容が表示されます.そうでなければ、Contentコントロールの内容が空であっても、マスターページのデフォルトは表示されません.
3、コンテンツ・ページがマスター・ページのコントロールと対話する場合(他のインタラクションと同様)、手順は次のとおりです.
1)マスターページクラスコードにpublicプロパティを作成し、get、setとコントロールの値に対応します.(マスターページにコントロールIDがmasterlblの場合)
2)コンテンツページクラスで次のように呼び出すことができます.
ここのMasterはマスタークラスのオブジェクトで、対応するマスターのタイプに変換してこそインタラクティブになります!もちろん他の方法もありますが、この方法が一番便利です.これにより、マスターのコントロールmasterlblの値を変更できます.
4、マスターとマスターはネストできます.ネストするときはサブマスターページもコンテンツページと同じようにContentコントロールを持って親ページに対応します.サブマスターページのコンテンツページを使用すると、Contentコントロールが1級マスターに対応する必要はありません.それ自体のマスターページのContentPlaceHolderコントロールに対応すればいいです.子マスター版にContentPlaceHolderコントロールがある場合は、次のように親版に対応するContentコントロールに配置する必要があります.
コンテンツページは主にContentPlaceHolder 2に対応すればよい!
5、マスターページの相対パスの問題
マスターページに画像がある場合
親版とピクチャが同じレベルのディレクトリにあり、コンテンツページがピクチャと異なる場合、ピクチャのアドレスはコンテンツページによって相対的なコンテンツページのアドレスに置き換えられるため、ピクチャは表示されません.解決方法:
1)フルパス<%=ResolveUrl("~/scripts/jquery-1.4.1.min.js")%>(ベスト)
2)サーバコントロールの代わりに使用する(jsとcssはコントロールで解決できない)
2、マスターページのContentPlaceHolderコントロールにデフォルトの内容がある場合、コンテンツページにContentコントロールがない場合、マスターページの内容が表示されます.そうでなければ、Contentコントロールの内容が空であっても、マスターページのデフォルトは表示されません.
3、コンテンツ・ページがマスター・ページのコントロールと対話する場合(他のインタラクションと同様)、手順は次のとおりです.
1)マスターページクラスコードにpublicプロパティを作成し、get、setとコントロールの値に対応します.(マスターページにコントロールIDがmasterlblの場合)
public string Masterlbl
{
get { return masterlbl.Text; }
set { masterlbl.Text = value; }
}
2)コンテンツページクラスで次のように呼び出すことができます.
((MyMaster) Master).Masterlbl = "test";
ここのMasterはマスタークラスのオブジェクトで、対応するマスターのタイプに変換してこそインタラクティブになります!もちろん他の方法もありますが、この方法が一番便利です.これにより、マスターのコントロールmasterlblの値を変更できます.
4、マスターとマスターはネストできます.ネストするときはサブマスターページもコンテンツページと同じようにContentコントロールを持って親ページに対応します.サブマスターページのコンテンツページを使用すると、Contentコントロールが1級マスターに対応する必要はありません.それ自体のマスターページのContentPlaceHolderコントロールに対応すればいいです.子マスター版にContentPlaceHolderコントロールがある場合は、次のように親版に対応するContentコントロールに配置する必要があります.
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<asp:ContentPlaceHolder runat="server" ID="ContentPlaceHolder2"></asp:ContentPlaceHolder>
</asp:Content>
コンテンツページは主にContentPlaceHolder 2に対応すればよい!
5、マスターページの相対パスの問題
マスターページに画像がある場合
<img src="t.jpg" />
親版とピクチャが同じレベルのディレクトリにあり、コンテンツページがピクチャと異なる場合、ピクチャのアドレスはコンテンツページによって相対的なコンテンツページのアドレスに置き換えられるため、ピクチャは表示されません.解決方法:
1)フルパス<%=ResolveUrl("~/scripts/jquery-1.4.1.min.js")%>(ベスト)
2)サーバコントロールの代わりに使用する(jsとcssはコントロールで解決できない)