【问题标题】:FindControl to find a control in the pageFindControl 在页面中查找控件
【发布时间】:2011-07-13 15:15:26
【问题描述】:

我的 aspx 页面上有一个月份列表,如下所示:

<ul>
    <li><a id="Month1" runat="server" class="Month1" href="#">Jan</a></li>
    <li><a id="Month2" runat="server" class="Month2" href="#">Feb</a></li>
    <li><a id="Month3" runat="server" class="Month3" href="#">Mar</a></li>
    <li><a id="Month4" runat="server" class="Month4" href="#">Apr</a></li>
    <li><a id="Month5" runat="server" class="Month5" href="#">May</a></li>
    <li><a id="Month6" runat="server" class="Month6" href="#">Jun</a></li>
    <li><a id="Month7" runat="server" class="Month7" href="#">Jul</a></li>
    <li><a id="Month8" runat="server" class="Month8" href="#">Aug</a></li>
    <li><a id="Month9" runat="server" class="Month9" href="#">Sep</a></li>
    <li><a id="Month10" runat="server" class="Month10" href="#">Oct</a></li>
    <li><a id="Month11" runat="server" class="Month11" href="#">Nov</a></li>
    <li><a id="Month12" runat="server" class="Month12" href="#">Dec</a></li>
</ul>

在我后面的代码中,如果列表项代表当前月份,我会尝试在 &lt;a&gt; 标记上设置“已选择”类。

我尝试执行以下操作来连接两个字符串以获得对页面上控件的引用:

CType(Page.FindControl("Month" & Now.Month), HtmlControl).Attributes("class") += " selected"

这似乎不起作用,所以我想知道是不是因为该页面位于母版页中,所以我将代码更改为以下内容:

CType(Page.Master.FindControl("Content").FindControl("Month" & Now.Month), HtmlControl).Attributes("class") += " selected"

“Content”是母版页中 ContentPlaceHolder 的 ID。

这仍然不起作用,所以有人可以告诉我我做错了什么吗?谢谢。

编辑: 我刚刚意识到代码实际上是在 ascx 文件中,而不是我上面提到的 aspx 文件。

【问题讨论】:

    标签: asp.net master-pages findcontrol


    【解决方案1】:

    试试Me:

    CType(Me.FindControl("Month" & Now.Month), HtmlControl).Attributes("class") += " selected"
    

    【讨论】:

    • 当然!我怎么没想到?!我之前尝试过“Page”,因为我忘记了代码实际上是在 ascx 文件中。谢谢!
    猜你喜欢
    • 2023-03-23
    • 2010-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-22
    • 2017-06-16
    • 2012-08-06
    相关资源
    最近更新 更多