查找无序列表<;UL>;asp.net中内容页的母版页内的控件

查找无序列表<;UL>;asp.net中内容页的母版页内的控件,asp.net,controls,master-pages,find,Asp.net,Controls,Master Pages,Find,伙计们 我想找到一个UL控件,然后在该UL中找到一个LI,并从内容页为其分配一个css类 <ul id="mainMenu" runat="server" style="width:350px;"> <li id="mainHome" runat="server"><a title="Home" href="#" class="home">Home</a></li> <li id="

伙计们

我想找到一个UL控件,然后在该UL中找到一个LI,并从内容页为其分配一个css类

<ul id="mainMenu" runat="server" style="width:350px;">
            <li id="mainHome" runat="server"><a title="Home" href="#" class="home">Home</a></li>
            <li id="mainManage" runat="server"><a title="Manage" href="#" class="manage">Manage</a></li>
            <li id="mainEnquiry" runat="server"><a title="Enquiry" href="#" class="enquiry">Enquiry</a></li>
            <li id="mainReport" runat="server"><a title="Report" href="#" class="report">Reports</a></li>

            </ul>

如果用户单击home,它将重定向到users.aspx页面,我想用颜色突出显示home LI。。。请给我一些建议…

如果我理解正确的话

如果您的列表在母版页上

<ul runat="server" id="list">
    <li runat="server" id="home">Home</li>
    <li runat="server" id="news">News</li>
</ul>
然后,li对象将成为列表对象中的控件-例如
list.controls
。或者你可以

Control home = this.Page.Master.FindControl("list").FindControl("home");
…以查找列表控件的特定控件

在HTML控件上使用runat=“server”时,服务器端的等效对象将是HtmlGenericControl

如果要将类应用于LI标记,则必须将LI对象强制转换为HtmlGenericControl,然后使用Attributes属性。例如

HtmlGenericControl home = (HtmlGenericControl)this.Page.Master.FindControl("list").FindControl("home");

home.Attributes["class"] = "className";

希望这对…有帮助。

让我看看它是否有效

在CSS中,创建两个类,称为:

.normalLink
{
background-color:#fff;
}

.selectedLink
{
background-color:#555;
}
<li id="mainHome" runat="server"><a title="Home" href="users.aspx" class="<%= SetSelectedLink("users.aspx") %>">Home</a>
<li id="mainManage" runat="server"><a title="Manage" href="#" class="<%= SetSelectedLink("manage.aspx") %>">Manage</a></li>
在您的链接中:

.normalLink
{
background-color:#fff;
}

.selectedLink
{
background-color:#555;
}
<li id="mainHome" runat="server"><a title="Home" href="users.aspx" class="<%= SetSelectedLink("users.aspx") %>">Home</a>
<li id="mainManage" runat="server"><a title="Manage" href="#" class="<%= SetSelectedLink("manage.aspx") %>">Manage</a></li>
编辑:
这只有在您用正确的URL替换href#时才有效

我找到了UL id,但找不到LI id,该id位于主页要查找LI,您必须执行此操作。Page.Master.FindControl(“列表”)。FindControl(“主页”);Chackey做到了,但我不能将css应用到那个LI。。。如何申请css@Pandiya-我再次更新了我的示例!您可以按照我的示例在代码中添加CSS类。我想对
  • 使用CSS,您想在
  • 元素上而不是在元素上调用SetSelectedLink吗?然后将其移动到
  • 元素中