ASP.net2.0中的CreateUserWizard控件,可以自定义,即在该控件上单击右键,然后选自定义创建用户步骤,我在该控件中新添加一行,拖放一个Label控件,和一个TextBox控制我想用Comment来存放部门信息,如下:<tr>
                            <td align="right">
                                <asp:Label ID="departLabel" runat="server" AssociatedControlID="Comment">部门名称:</asp:Label></td>
                            <td>
                                <asp:TextBox ID="Comment" runat="server"></asp:TextBox>
                                <asp:RequiredFieldValidator ID="CommentRequired" runat="server" ControlToValidate="Comment"
                                    ErrorMessage="必须填写“部门名称”。" ToolTip="必须填写“部门名称”。" ValidationGroup="CreateUserWizard1">*</asp:RequiredFieldValidator>
                            </td>
                        </tr>我将departLabel的AssociatedControlID="Comment"即指向了Comment,可运行该项目时还是无法添加到Comment,如何做?

解决方案 »

  1.   

    我查了一下资料,可以这样访问Comment
    void PhoneWrite(object sender, EventArgs e)
      {
        CreateUserWizardStep myStep = new CreateUserWizardStep();
        Label5.Text = Server.HtmlEncode(((TextBox)(CreateUserWizardStep1.ContentTemplateContainer.FindControl("Comment"))).Text); ;
      }在设计代码中
    <asp:CreateUserWizard ID="CreateUserWizard1" runat="server" 
           OnCreatedUser="PhoneWrite" .....略
    虽然这样可以访问到Comment,但写不到数据库里,这里应该如何操作呢?如果调用Membership.CreateUse方法,也没有Comment的参数重载方法,直接写insert语句吗?
      

  2.   

    楼上正解,如:
    protected void OnCreatedUser(object sender, EventArgs e)
        {
            MembershipUser user = Membership.GetUser(CreateUserWizard1.UserName);
            user.Comment = "你想要的值";
            Membership.UpdateUser(user);
        }
    即可,如需存储较多用户信息,就得用profile了