gpt4 book ai didi

c# - 与
  • 一起使用的 FindControl() 等效项
  • 转载 作者:行者123 更新时间:2023-11-30 14:58:05 25 4
    gpt4 key购买 nike

    我有一个 <li>在我的页面上。它有 runat="server" .我现在可以引用这个 li直接在代码隐藏中。但是,正如我处理页面上的其他控件一样,我需要根据应与其 ID 匹配的字符串值找到它。

    作为循环的一部分,我有:

    var li = Page.FindControl("li" + i);

    最终想改变li的类.但是我似乎无法访问任何属性,就像我引用了 li 一样。直接地。我在这里做错了什么?是否有另一种方法来修改 li来自代码隐藏的属性?

    最佳答案

    当您在服务器端使用通用 html 元素时,您将获得一个 HtmlGenericControl 的实例。当访问 <li>在服务器上。 HtmlGenericControl类不支持 ClassCssClass与大多数 .NET Web 控件一样的属性。您仍然可以通过 Attributes 更改类(class)收藏:

    var li = (HtmlGenericControl) Page.FindControl("li" + i);
    li.Attributes["class"] = "myCssClass";

    Page.FindControl("li" + i)方法需要有效的控件 ID。因此,您还需要为 <li> 添加一个 id元素:

    <li runat="server" id="li1">...</li>

    但是,如果您在转发器或 ListView 控件中创建动态列表,这可能对您不起作用,因为 id 将以父控件为前缀。您应该 Hook 到转发器/ ListView 控件的适当项目创建事件,以便以编程方式访问 <li> .

    关于c# - 与 <li> 一起使用的 FindControl() 等效项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19769411/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com