所以我在ASP.NET的默认register.aspx页面上向基本注册用户向导添加了一个步骤。我将步骤添加到标记中,一切看起来都正确,但是当我在Chrome / IE中加载页面时,在完成第一步后,该步骤没有显示出来。所有我在第一个,默认步骤中更改的是按钮(使其说“下一步”),但是当我点击它只是完成表单并重定向到default.aspx - 从不加载第二步。
这是我的标记(为了便于阅读,我删除了一些我没有触及的通用内容)
更新:我从头开始重新编辑向导(删除并添加了一个新向导),并在via标记中添加了一个步骤。现在,当我查看页面时,我看到了第一步(而“下一个”按钮显示为“创建用户”)。我填写并点击“创建用户”,我看到同样的步骤,除了这次按钮说“下一步”...我再次填写然后点击下一步,然后看第二步。填写完成并点击完成,一切按计划进行。
<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);
}
}
谢谢!如果我需要提供更多信息,请告诉我......(不是要提供更多信息......)
答案 0 :(得分:2)
每个向导项目中都有一个按钮。这导致页面提交。你应该有一个导航栏作为向导的一部分,它将导航回来&amp;第四......
作为VS 2010 Web App的一部分的默认注册向导只有一步,因此他们将按钮放在唯一的步骤中。但是,您想要添加一个步骤。您需要使用自定义导航来添加下一个按钮和最终提交。
这是一篇关于modifying a wizard的好文章。
This link和this link有点旧,但更具体地修改了“创建用户”向导,但由于此向导的更改很少,因此仍然具有相关性。