FindControl, чтобы найти элемент управления на странице - PullRequest
2 голосов
/ 13 июля 2011

У меня есть список месяцев на моей странице 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>

В своем коде я пытаюсь установить класс 'selected' в теге <a>, еслиЭлемент списка представляет текущий месяц.

Я попытался сделать следующее, чтобы объединить две строки для получения ссылки на элемент управления на странице:

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

Это не похоже на работуи поэтому я подумал, что это потому, что страница находится внутри главной страницы, поэтому я изменил код следующим образом:

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

«Контент» - это идентификатор ContentPlaceHolder на главной странице.

Это все еще не работает, так может кто-нибудь сказать мне, что я делаю не так?Спасибо.

РЕДАКТИРОВАТЬ: Я только что понял, что код на самом деле находится в файле ascx, а не в файле aspx, как я положил выше.

1 Ответ

4 голосов
/ 13 июля 2011

Попробуйте Me:

CType(Me.FindControl("Month" & Now.Month), HtmlControl).Attributes("class") += " selected"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...