Это сводит меня с ума. Я рассмотрел и попытался ответы от этих SO нитей, но безрезультатно:CreateUserWizard игнорирует .MoveTo
CreateUserWizard step changing issue after account creation
Advancing wizard from code-behind in ASP.NET
Prevent Navigation to CreateUserWizardStep in the Postback event of nextbutton
Я добавил wizardstep до одного, который создает пользователь в базе данных :
(0) Личные данные
(1) Регистрация Ф.О. т Ваш новый аккаунт
(2) Полный
В шаге 0, у меня есть (страшились) ReCaptcha. Шаблон навигации для шага 0:
<StartNavigationTemplate>
<asp:Button ID="StartNextButton" runat="server" CommandName="MoveNext" Text="Next" OnClick="StartNextButton_Click" CausesValidation="true"/>
</StartNavigationTemplate>
Здесь я проверяю reCaptcha в кодебе. Это объявление обработчика было создано VS2012. Если проверка не пройдена, следует повторно нагрузку (и перейти к) шаг:
protected void StartNextButton_Click(object sender, EventArgs e)
{
recaptcha.Validate();
if (! recaptcha.IsValid)
{
RegisterUser.ActiveStepIndex = 0;
RegisterUser.MoveTo(RegisterUser.ActiveStep);
}
}
В идеале (и то, что я сделал в более ранних версиях), чтобы установить e.Cancel = TRUE при сбое проверки. Поскольку VS только передает EventArgs e, Отмена недоступна, таким образом, сглаживание ActiveStep.
Отладка показывает проверка работает, но в случае неудачи проверки - несмотря на настройки ActiveStepIndex 0 - Я прошел к шагу 1.
Любые советы будут оценены.
Конечно, как только я разместил это, я придумал несколько альтернативных способов достижения этого, но они либо взлома, либо изменение рабочего процесса, который я хотел. Там должен быть способ сделать это. –
Я закончил сдачу recaptcha в конце шага 1, и все было хорошо. –