【问题标题】:Grab a List Item from the Master Page从母版页获取列表项
【发布时间】:2014-03-25 08:09:21
【问题描述】:

我在Master 页面中有一个ListItem,我需要为它分配一个新的css class

<ul>
   <li></li>
   <li id="myLI" runat="server"></li>
   <li></li>
</ul>

我尝试的第一件事是:

ListItem li = this.Master.FindControl("myLI");

无法将类型“System.Web.UI.Control”隐式转换为 'System.Web.UI.WebControls.ListItem'

然后:

ListItem li = (ListItem) this.Master.FindControl("myLI");

无法将类型“System.Web.UI.Control”转换为 'System.Web.UI.WebControls.ListItem'

然后:

Control li = this.Master.FindControl("myLI");

但我没有找到任何方法给它一个新的 CSS 类。

听起来我需要获取WebControl 而不是Control。有什么解决办法吗?

【问题讨论】:

  • 你试过HtmlGenericControl吗?
  • 是的,它是 HtmlGenericControl。您不能使用 ListItem 的原因是您尚未将 ul 定义为控件。 &lt;ul id="myList" runat="server"&gt;.

标签: c# asp.net css web-controls listitem


【解决方案1】:

您需要将其转换为HtmlGenericControl,如下所示:

HtmlGenericControl li = (HtmlGenericControl)this.Master.FindControl("myLI");

HtmlGenericControl 有一个 AttributeCollection 属性,您可以使用它:

li.Attributes.Add("class", "myClass");

【讨论】:

  • 正确,我以前看到过这个,我可能以前用过它,但是除非我导入它,否则 Visual Studio 不会向我显示它。 8 分钟内的最佳答案...
  • 如果您愿意,可以将其添加到更改/添加/删除类,我们执行以下操作li.Attributes["class"] = "myClass";
猜你喜欢
  • 2016-06-20
  • 2010-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多