在Master Pages增加<body>屬性


如果在Master Pages的應用程式,需要在<BODY>裡面增加屬性,例如要在Client Script Function加個onload事件,你會發現你不能直接下,
因為<BODY>在Master Page,不是在你的Content Page。
 
所以方法是要為Master Page的<BODY>設一個Public Property,這樣任何的Content Page 就能取得這個Property
第一:要在Master Page<BODY>改成ASP.NET Server Control
<BODY>        to         <BODY id="MasterPageBodyTag" runat="server">
現在<BODY>是一個Server Control,就可以設定他的Public Property

然後再MasterPage加個Public Property

Imports System.Web.UI.HtmlControls  
Public Partial Class MyMasterPage  
    Inherits System.Web.UI.MasterPage  
    Public Property BodyTag() As HtmlGenericControl  
        Get  
            Return MasterPageBodyTag  
        End Get  
        Set  
            MasterPageBodyTag = value  
        End Set  
    End Property

在Content Page的ASPX裡加上<%@ MasterType TypeName="MyMasterPage" %>

然後在Content Page使用Master Page的BodyTag Property增加到<BODY>

這樣就行了

Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)  
    Master.BodyTag.Attributes.Add("onload", "alert("onload");")  
End Sub

DotBlogs Tags: ASP.NET
posted on 2008/3/29 10:41 | 我要推薦 | 閱讀數 : 1407 | 分類[ ASP.NET ] 訂閱

Feedback

# re: 在Master Pages增加<body>屬性 回覆

Left by 逆光 at 2008/9/23 下午 02:20
站長您好
不好意思
我是用visual studio2005
想請問ㄧ下關於master page的問題
我把主板頁面切割成左右兩邊
左邊放超連結
希望點了之後可以顯示在右半邊
這樣該怎麼設定呢?
是用target屬性設定嗎@@?
因為我怎麼試
點了之後都還是另外開一個視窗顯示

回應:




 
Please add 8 and 2 and type the answer here:

Copyright © YAUS

Design by Bartosz Brzezinski

Design by Phil Haack Based On A Design By Bartosz Brzezinski