asp.net总结之母版

1、使用母版的时候,内容的Content控件必须与母版页的ContentPlaceHolder控件一一对应,不能多只能少。

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控件去跟上一级母版对应了,只要对应它的本身的母版页的ContentPlaceHolder控件就行了。如果子母版中要有ContentPlaceHolder控件,则必须放置在与父母版对应的Content控件中,如下

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
    <asp:ContentPlaceHolder runat="server" ID="ContentPlaceHolder2"></asp:ContentPlaceHolder>
</asp:Content>

内容页主要与ContentPlaceHolder2对应即可!

5、母版页相对路径问题

假如母版页中有一个图片

<img src="t.jpg" />

如果母版与图片在同一级目录,而内容页与图片不同,那图片将会显示不出来,因为图片的地址会被内容页替换成相对内容页的地址。
  解决方法:

  1)使用完整路径<%=ResolveUrl("~/Scripts/jquery-1.4.1.min.js") %> (最好)

  2)使用服务器控件代替(js和css非控件解决不了)

 

posted on 2012-09-06 00:38  穆穆  阅读(235)  评论(0编辑  收藏  举报