FindControl не работает с моим элементом управления ChangePassword - PullRequest
0 голосов
/ 01 марта 2011

Как я могу получить доступ к CancelPushButton?

Это не работает!всегда возвращает null !!

var cancelButton = ChangeUserPassword.FindControl("CancelPushButton");

ASP.Net код:

<ChangePasswordTemplate>
    <span class="failureNotification">
        <asp:Literal ID="FailureText" runat="server"></asp:Literal>
    </span>
    <asp:ValidationSummary ID="ChangeUserPasswordValidationSummary" runat="server" CssClass="failureNotification" 
         ValidationGroup="ChangeUserPasswordValidationGroup"/>
    <div class="accountInfo">

        <p class="submitButton">
            <asp:Button ID="CancelPushButton" runat="server" CausesValidation="False" CommandName="Cancel" Text="Cancel"/>
            <asp:Button ID="ChangePasswordPushButton" runat="server" CommandName="ChangePassword" Text="Change Password" 
                 ValidationGroup="ChangeUserPasswordValidationGroup"/>
        </p>
    </div>
</ChangePasswordTemplate>

Любая помощь!

Ответы [ 2 ]

6 голосов
/ 01 марта 2011

Проверьте это: http://weblogs.asp.net/sukumarraju/archive/2011/02/13/access-controls-with-in-change-password-control.aspx

У этого есть пример:

ChangeUserPassword.ChangePasswordTemplateContainer.FindControl("CancelPushButton”);

НТН.

0 голосов
/ 01 марта 2011

Из этой статьи этот метод найдет необходимый элемент управления.

public static Control FindControlRecursive(Control Root, string Id)
{
    if (Root.ID == Id)
        return Root;

    foreach (Control Ctl in Root.Controls)
    {
        Control FoundCtl = FindControlRecursive(Ctl, Id);
        if (FoundCtl != null)
            return FoundCtl;
    }

    return null;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...