そのため、ASP.NETのデフォルトのregister.aspxページにある基本的な登録ユーザーウィザードにステップを追加しています。マークアップにステップを追加しましたが、すべてが正しく表示されますが、Chrome / IEでページをロードすると、最初のステップを完了した後、そのステップが表示されません。最初のデフォルトのステップで変更したのはボタン(「次へ」と表示するため)だけでしたが、クリックするとフォームが完成し、default.aspxにリダイレクトされます。2番目のステップは読み込まれません。
これが私のマークアップです(読みやすくするために触れなかった一般的なものをいくつか削除しました)
更新:ウィザードを最初からやり直し(削除して新しいウィザードを追加)、マークアップを介して1つのステップを追加しました。これで、ページを表示すると、最初のステップが表示されます([次へ]ボタンには[ユーザーの作成]と表示されます)。入力して[ユーザーの作成]をクリックすると、同じ手順が表示されますが、今回はボタンに[次へ]と表示されます...もう一度入力して[次へ]をクリックすると、2番目の手順が表示されます。それを記入してフィニッシュを押すと、すべてが計画どおりに進みます。
<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);
}
}
ありがとう!さらに情報を提供する必要がある場合はお知らせください...(提供するものが他にあるわけではありません...)