Search code examples
asp.netcssc#-4.0master-pages

How to set css class on active menu item using a masterpage?


How to set the Active menu item color when i click the sub submenu items or main item in asp.net master page.

My code is (master page source)

<ul class="art-menu">
      <li><a href="#" class="{ActiveItem}"><span class="l"></span><span class="r"></span><span
                            class="t">Submission</span> </a>
                            <ul>
                                <li><a href="../QuoteStatus.aspx">Search Submission</a></li>
                                <li><a href="../NewQuote.aspx">New Submission</a></li>
                            </ul>
                        </li>
                        <li><a href="#"><span class="l"></span><span class="r"></span><span class="t">Requests</span></a>
                            <ul>
                                <li><a href="../Requests/IssueCertificates.aspx">Issue Certificates</a></li>
                                <li><a href="../Requests/QuoteCancellation.aspx">Cancellation</a></li>
                                <li><a href="../Requests/LossRuns.aspx">Loss Runs</a></li>
                                <li><a href="../Requests/Endorsements.aspx">Endorsements</a></li>
                            </ul>
                        </li>
                        <li><a href="#"><span class="l"></span><span class="r"></span><span class="t">Reports</span></a>
                        </li>
                        <li><a href="#"><span class="l"></span><span class="r"></span><span class="t">Configuration</span></a>
                            <ul>
                                <li><a href="../Administration/UserInformation.aspx">User Information</a></li>
                                <li><a href="../SignUp.aspx">New User</a></li>
                                <li><a href="../Administration/AdminSettings.aspx">Admin Settings</a></li>
                            </ul>
                        </li>
</ul>

how to write the code , please give me suggestion about that...

thank u hemanth


Solution

  • Here is what I do. There could be a better way. You can try it.

    NOTE: your link should have runat="server" so you can access them from code-behind

    protected void Page_Load(object sender, EventArgs e)
    {            
        string curlink = Request.RawUrl;
    
        if (curlink.Contains("/administration/school")) 
        {
            schoolinfolink.Attributes["class"] = "selected";
        }
        else if (curlink.Contains("/administration/result"))
        {
            resultlink.Attributes["class"] = "selected";
        }
        else if (curlink.Contains("/administration/staff"))
        {
           staffslink.Attributes["class"] = "selected";
        }
    
    }