0

因此,我在 ASP.NET 的默认 register.aspx 页面上向基本注册用户向导添加了一个步骤。我将步骤添加到标记中,一切看起来都正确,但是当我在 Chrome/IE 中加载页面时,在我完成第一步后该步骤未显示。我在第一步中所做的所有更改,默认步骤是按钮(让它说“下一步”),但是当我单击它时,它只是完成了表单并重定向到 default.aspx - 从不加载第二步。

这是我的标记(为了便于阅读,我删除了一些我没有触及的通用内容)

更新:我从头开始重新编写向导(删除并添加了一个新向导)并通过标记添加了一个步骤。现在,当我查看页面时,我看到了第一步(“下一步”按钮显示为“创建用户”)。我填写并点击“创建用户”,我看到了相同的步骤,除了这次按钮显示“下一步”......我再次填写并点击下一步,然后查看第二步。填写并完成,一切都按计划进行。

<asp:CreateUserWizard ID="RegisterUser" runat="server"  OnFinishButtonClick="RegisterUser_CreatedUser">
    <WizardSteps>
        <asp:WizardStep runat="server" StepType="Start">
            /*Generic Stuff */
            </asp:WizardStep>
        <asp:WizardStep ID="personalinfo" runat="server" StepType="Auto" >
         /* Custom Wizard Step Content */
        </asp:WizardStep>

    </WizardSteps>
</asp:CreateUserWizard>

所以基本上,中间步骤被跳过了。我在步骤 1 中点击了“下一步”按钮,它刚刚完成了向导。这是我的代码背后:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Account_Register : System.Web.UI.Page
{

    protected void Page_Load(object sender, EventArgs e)
    {
        RegisterUser.ContinueDestinationPageUrl = Request.QueryString["ReturnUrl"];
    }


    protected void RegisterUser_CreatedUser(object sender, EventArgs e)
    {
        FormsAuthentication.SetAuthCookie(RegisterUser.UserName, false /* createPersistentCookie */);

        string continueUrl = RegisterUser.ContinueDestinationPageUrl;
        if (String.IsNullOrEmpty(continueUrl))
        {
            continueUrl = "~/";
        }
        // My Custom Stuff Here
        Response.Redirect(continueUrl);
    }

}

谢谢!如果我需要提供更多信息,请告诉我……(不是说还有什么要提供的……)

4

1 回答 1

2

每个向导项中都有一个按钮。这导致页面提交。您应该有一个导航栏作为向导的一部分,它将来回导航.....

作为 VS 2010 Web 应用程序一部分的默认注册向导只有一个步骤,因此他们将按钮放在唯一的步骤中。但是,您想添加一个步骤。您需要处理自定义导航以添加下一步按钮和最终提交。

这是一篇关于修改向导的好文章。

这个链接这个链接有点旧,但是更具体地修改了创建用户向导并且仍然相关,因为这个向导几乎没有改变。

于 2011-05-14T18:43:11.443 回答