开发者

why can't asp.net find my textbox?

开发者 https://www.devze.com 2022-12-29 10:55 出处:网络
I\'m trying to add more fields to the CreateUserWizardStep, here is what I added: <asp:CreateUserWizardStep ID=\"CreateUserWizardStep1\" runat=\"server\">

I'm trying to add more fields to the CreateUserWizardStep, here is what I added:

<asp:CreateUserWizardStep ID="CreateUserWizardStep1" runat="server">
    <ContentTemplate>
        <table border="0">
            <tr>
                <td align="right">
                    <asp:Label ID="NickNameLabel" runat="server" AssociatedControlID="NickName">Nick Name:</asp:Label>
                </td>
                <td>
                    <asp:TextBox ID="NickName" runat="server"></asp:TextBox>
                    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="NickName"
                        ErrorMessage="Nick Name is required." ToolTip="Nick Name is required." ValidationGroup="CreateUserWizard1">*</asp:RequiredFieldValidator>
                </td>
            </tr>
            <%-- The default code is left unchanged, but not shown here --%>
        </table>
    </ContentTemplate>
</开发者_如何学编程asp:CreateUserWizardStep>

Then I tried to reference the objects like this

protected void NewUserWizard_CreatedUser(object sender, EventArgs e)
{
    CreateUserWizardStep step = NewUserWizard.FindControl("CreateUserWizardStep1") as CreateUserWizardStep;
    TextBox nickName = step.FindControl("NickName") as TextBox;
    // insert additional information to the database
}

The problem is, I'm getting nulls for nickName. Am I using FindControl("") incorrectly?


you may want to use a recursive find control function such as here: http://stevesmithblog.com/blog/recursive-findcontrol/


FindControl only

Searches the current naming container for the specified server control.

i.e. It only checks the current containers direct children.

You can use the Controls property to return all the children of step:

ControlCollection children = step.Controls;

and enumerate over this looking for your text box.


I don't know the control myself, but doesn't CreateUserWizardStep1.NickNameLabel work?

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号