首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ActiveStepChanged In CreateUserWizard

ActiveStepChanged In CreateUserWizard
EN

Stack Overflow用户
提问于 2012-02-01 09:23:15
回答 1查看 815关注 0票数 3

我在读来自ASP.NET的成员教程

我目前的工作题为:

自定义CreateUserWizard的界面以提示新用户的家乡、主页和签名

应该发生的是,我向我的CreateUserWizard添加了一个自定义的“步骤”,但是当我运行这个自定义步骤并点击“继续”时,这些值不会插入到我的数据库中,如果发生了什么问题,那么它应该将"NULL“插入到数据库中(正如教程告诉的那样,”如果用户在步骤2期间关闭注册,它将自动插入NULL",但即使这样也不会发生。

我的数据库与UserProfiles_Id to Aspnet_Users_UserId:有一个关系

代码语言:javascript
复制
FK_UserProfiles_aspnet_Users

我已经通过了这些步骤,在教程的时间,我仍然找不到问题。

Aspx.:

代码语言:javascript
复制
<asp:CreateUserWizard ID="NewUserWizard" runat="server" ContinueDestinationPageUrl="~/bruger/info.aspx">
    <WizardSteps>
        <asp:CreateUserWizardStep ID="CreateUserWizardStep" runat="server">
        </asp:CreateUserWizardStep>
        <asp:WizardStep ID="UserSettings" runat="server" StepType="Step" Title="Dine Informationer">
           <p>Navn:<br />
                <asp:TextBox ID="Name" runat="server" TextMode="SingleLine" />
           </p>
           <p>Adresse:<br />
                <asp:TextBox ID="Adress" Columns="40" runat="server" TextMode="SingleLine" />
           </p>
           <p>Postnummer:<br />
                <asp:TextBox ID="ZipCode" Columns="20" Rows="5" runat="server" TextMode="SingleLine" />
           </p>
           <p>By:<br />
                <asp:TextBox ID="City" Columns="40" runat="server" TextMode="SingleLine" />
           </p>
        </asp:WizardStep>
        <asp:CompleteWizardStep ID="CompleteWizardStep1" runat="server" >
        </asp:CompleteWizardStep>
    </WizardSteps>
</asp:CreateUserWizard>

Aspx.cs:

代码语言:javascript
复制
 protected void NewUserWizard_ActiveStepChanged(object sender, EventArgs e)
    {
        // Have we JUST reached the Complete step?
        if (NewUserWizard.ActiveStep.Title == "Complete")
        {
            WizardStep UserSettings = NewUserWizard.FindControl("UserSettings") as
            WizardStep;

            // Programmatically reference the TextBox controls
            TextBox Name = UserSettings.FindControl("Name") as TextBox;
            TextBox Adress = UserSettings.FindControl("Adress") as TextBox;
            TextBox ZipCode = UserSettings.FindControl("ZipCode") as TextBox;
            TextBox City = UserSettings.FindControl("City") as TextBox;

            // Update the UserProfiles record for this user
            // Get the UserId of the just-added user
            MembershipUser newUser = Membership.GetUser(NewUserWizard.UserName);
            Guid newUserId = (Guid)newUser.ProviderUserKey;

            // Insert a new record into UserProfiles
            string connectionString =
                 ConfigurationManager.ConnectionStrings["LLCateringConnectionString"].ConnectionString;
            string updateSql = @"UPDATE UserProfiles SET Name = @Name, Adress = @Adress, ZipCode = @ZipCode, City = @City 
                               WHERE UserId = @UserId";

            using (SqlConnection myConnection = new SqlConnection(connectionString))
            {
                myConnection.Open();
                SqlCommand myCommand = new SqlCommand(updateSql, myConnection);
                myCommand.Parameters.AddWithValue("@Name", Name.Text.Trim());
                myCommand.Parameters.AddWithValue("@Adress", Adress.Text.Trim());
                myCommand.Parameters.AddWithValue("@ZipCode", ZipCode.Text.Trim());
                myCommand.Parameters.AddWithValue("@City", City.Text.Trim());
                myCommand.Parameters.AddWithValue("@UserId", newUserId);
                myCommand.ExecuteNonQuery();
                myConnection.Close();
            }
        }
    }
EN

回答 1

Stack Overflow用户

发布于 2012-02-01 09:29:17

试着改变路线

代码语言:javascript
复制
if (NewUserWizard.ActiveStep.Title == "Complete")

代码语言:javascript
复制
if (NewUserWizard.ActiveStep == this.CompleteWizardStep1)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9093393

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档