C# - 如何更改HTML元素的属性 [英] C# - How to change HTML elements attributes
本文介绍了C# - 如何更改HTML元素的属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的母版页中包含如下所示的列表。我今天准备这样做虽然是添加了类=活跃属性,当前活动的名单里,多数民众赞成,但我不知道如何做到这一点。我知道,code云在aspx页面的Page_Load事件,但不知道如何访问里我需要添加的属性。请赐教。非常感谢。
< DIV ID =菜单>
< UL ID =导航>
<李班=forcePadding>< IMG SRC =CSS /网站的风格,影像/ menu_corner_right.jpg/>< /李>
<李ID =屏幕截图>< A HREF =screenshots.aspx称号=屏幕截图>&截图LT; / A>< /李>
<李ID =未来>< A HREF =future.aspx称号=未来>未来< / A>< /李>
<李ID =新闻>< A HREF =news.aspx称号=新闻>新闻< / A>< /李>
<李ID =下载>< A HREF =download.aspxtitle =下载>下载< / A>< /李>
<李ID =家>< A HREF =的Index.aspx称号=家>家庭和LT; / A>< /李>
<李班=forcePadding>< IMG SRC =CSS /网站的风格,影像/ menu_corner_left.jpg/>< /李>
< / UL>
< / DIV>
解决方案
为了从服务器端访问这些控件,你需要让他们=服务器
< UL ID =导航=服务器>
<李班=forcePadding>< IMG SRC =CSS /网站的风格,影像/ menu_corner_right.jpg/>< /李>
<李ID =屏幕截图>< A HREF =screenshots.aspx称号=屏幕截图>&截图LT; / A>< /李>
<李ID =未来>< A HREF =future.aspx称号=未来>未来< / A>< /李>
<李ID =新闻>< A HREF =news.aspx称号=新闻>新闻< / A>< /李>
<李ID =下载>< A HREF =download.aspxtitle =下载>下载< / A>< /李>
<李ID =家>< A HREF =的Index.aspx称号=家>家庭和LT; / A>< /李>
<李班=forcePadding>< IMG SRC =CSS /网站的风格,影像/ menu_corner_left.jpg/>< /李>
< / UL>
在code-背后:
的foreach(在nav.controls控制CTRL)
{
如果(!CTRL是的HtmlAnchor)
{
字符串的URL =((的HtmlAnchor)CTRL).Href;
如果(URL == GetCurrentPage())//< - 你需要编写
ctrl.Parent.Attributes.Add(类,活动);
}
}
My master page contains a list as shown here. What I'd like to do though, is add the "class=active" attribute to the list li thats currently active but I have no idea how to do this. I know that the code goes in the aspx page's page_load event, but no idea how to access the li I need to add the attribute. Please enlighten me. Many thanks.
<div id="menu">
<ul id="nav">
<li class="forcePadding"><img src="css/site-style-images/menu_corner_right.jpg" /></li>
<li id="screenshots"><a href="screenshots.aspx" title="Screenshots">Screenshots</a></li>
<li id="future"><a href="future.aspx" title="Future">Future</a></li>
<li id="news"><a href="news.aspx" title="News">News</a></li>
<li id="download"><a href="download.aspx" title="Download">Download</a></li>
<li id="home"><a href="index.aspx" title="Home">Home</a></li>
<li class="forcePadding"><img src="css/site-style-images/menu_corner_left.jpg" /></li>
</ul>
</div>
解决方案
In order to access these controls from the server-side, you need to make them runat="server"
<ul id="nav" runat="server">
<li class="forcePadding"><img src="css/site-style-images/menu_corner_right.jpg" /></li>
<li id="screenshots"><a href="screenshots.aspx" title="Screenshots">Screenshots</a></li>
<li id="future"><a href="future.aspx" title="Future">Future</a></li>
<li id="news"><a href="news.aspx" title="News">News</a></li>
<li id="download"><a href="download.aspx" title="Download">Download</a></li>
<li id="home"><a href="index.aspx" title="Home">Home</a></li>
<li class="forcePadding"><img src="css/site-style-images/menu_corner_left.jpg" /></li>
</ul>
in the code-behind:
foreach(Control ctrl in nav.controls)
{
if(!ctrl is HtmlAnchor)
{
string url = ((HtmlAnchor)ctrl).Href;
if(url == GetCurrentPage()) // <-- you'd need to write that
ctrl.Parent.Attributes.Add("class", "active");
}
}
这篇关于C# - 如何更改HTML元素的属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文