C# - 如何更改HTML元素的属性 [英] C# - How to change HTML elements attributes

查看:177
本文介绍了C# - 如何更改HTML元素的属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的母版页中包含如下所示的列表。我今天准备这样做虽然是添加了类=活跃属性,当前活动的名单里,多数民众赞成,但我不知道如何做到这一点。我知道,code云在aspx页面的Page_Load事件,但不知道如何访问里我需要添加的属性。请赐教。非常感谢。

 < D​​IV 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆