簡體   English   中英

如何從asp.net中的子窗體更改母版頁中控件的屬性

[英]How to change property of control in master page from child form in asp.net

正在開發垂直導航Web應用程序。 當我單擊超鏈接(顯示在母版頁中)時,將加載子.aspx頁面,但由於它是新頁面加載,因此將設置超鏈接的默認顏色。 我想為加載的相應頁面的超鏈接設置不同的顏色。

母版頁代碼:

<header id="leftpanel">
    <ul>
        <li><a href="Default.aspx">Home</a></li><br />
        <li><a href="Default2.aspx">About Us</a></li><br />
        <li><a href="Default3.aspx">Tourism</a></li><br />
        <li><a href="Default4.aspx">Enquiry</a></li><br />
    </ul>
</header>

    <div id="mainpanel"> 
        <asp:Label ID="lblTitle" runat="server" Text="MAIN TITLE"></asp:Label>
        <asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
        </asp:ContentPlaceHolder>
    </div>

CSS的代碼:

body {
  top:0;
  left:0;
  margin:0;
}

#leftpanel{
 position:fixed;
 left:0;
 width:25%;
 float: left;
 height:100%;
 background-color: gray;
 text-align:center;
 padding-top:250px;
}
ul, li{
 padding:0;
 margin:0;
 list-style:none;
}

#leftpanel ul li{
 font-size:15px;
 line-height:15px;
 letter-spacing:3px;
 color:white;
 margin-bottom:20px;
 -webkit-font-smoothing:antialiased;
 -webkit-transition:color 0.3s ease-out;
 font: 20px/1.4em "PT Sans Narrow", "Arial", sans-serif;
}

#leftpanel ul li a{
 color:white;
 -webkit-transition:color 0.3s ease-out;
 -moz-transition:color 0.3s ease-out;
 -o-transition:color 0.3s ease-out;
 -ms-transition: color 0.3s ease-out;
 transition:color 0.3s ease-out;
 font-weight:bold;
 text-decoration:none;
 background-color:gray;
 cursor:pointer;
}

#leftpanel ul li:hover, #leftpanel ul li a:hover , #leftpanel ul li.current{
 color:#0fe9bd;
 -webkit-transition:color 0.3s ease-out;
 -moz-transition:color 0.3s ease-out;
 -o-transition:color 0.3s ease-out;
 -ms-transition: color 0.3s ease-out;
 transition:color 0.3s ease-out;
 cursor:pointer;
}  

#leftpanel a:hover, #leftpanel .active{
 color:#0fe9bd;
 font:x-large
}

#mainpanel{
 position:fixed;
 width:75%;
 float:left;
 left:25%;
 height:100%;
 text-align:center;
 align-items:center;
 background-color:#0fe9bd;
 color:black;
 font-weight:bold;
 font: 20px/1.4em "PT Sans Narrow", "Arial", sans-serif;
}

另外,如果我將更新面板放置在母版頁的內容占位符中,那么如何在單擊超鏈接時將子頁面加載到更新面板中,而不是重新加載整個頁面?

讓你lia服務器端就尋子頁面上,並設置背景色

母版頁代碼:

<header id="leftpanel">
    <ul>
        <li><a href="Default.aspx" id="home" runat="server">Home</a></li><br />
        <li><a href="Default2.aspx">About Us</a></li><br />
        <li><a href="Default3.aspx">Tourism</a></li><br />
        <li><a href="Default4.aspx">Enquiry</a></li><br />
    </ul>
</header>

    <div id="mainpanel"> 
        <asp:Label ID="lblTitle" runat="server" Text="MAIN TITLE"></asp:Label>
        <asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
        </asp:ContentPlaceHolder>
    </div>

子頁面代碼

protected void Page_Load(object sender, EventArgs e)
        {
    HtmlAnchor b = (HtmlAnchor)this.Page.Master.FindControl("home");
                b.Attributes["class"] = "active";
        }

您可以使用a:active and a:visited如果要突出顯示與當前頁面相對應的鏈接,則

.currentPage { color: Aqua; background-color: #000000; }

將該類添加到相應的<li> 希望這個能對您有所幫助..

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM