У меня есть wizardcontrol, где за один шаг пользователь может ввести свое имя, адрес электронной почты, номер телефона и т. Д.
Когда пользователь нажимает кнопку «Далее» мастера, я проверяю базу данныхчтобы узнать, существует ли существующая учетная запись с указанным номером телефона.
В этом случае система должна спросить пользователя, будет ли он связывать новую информацию с этим номером или он введетновый номер телефона.
Если он говорит, что связывает информацию, информация связывается, и мастер переходит к шагу 2, и если он вводит новый номер телефона, волшебник остается на шаге 1.
код выглядит примерно так:
protected void Wizard1_NextButtonClick(object sender, WizardNavigationEventArgs e)
{
if (Wizard1.ActiveStepIndex == 0)
{
Page.Validate();
if (Page.IsValid)
{
if (!Mobile_ValidateForExistingUsers(((TextBox)WizardStep1.ContentTemplateContainer.FindControl("txtPhone")).Text))
{
//JavaScript popup or something, which prompts the user?
}
}
}
}
где валидатор:
protected bool Mobile_ValidateForExistingUsers(string usrPhone)
{
bool IsValid = false;
using (SqlConnection conn = new SqlConnection(connString))
using (SqlCommand cmd = new SqlCommand("spCheckMobile", conn))
{
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("@Mobile", usrPhone));
cmd.Connection.Open();
object result = cmd.ExecuteScalar();
if (result == null)
{
IsValid = true;
}
}
return IsValid;
}
Как задать пользователю этот вопрос и либо продолжить, либо позволить ему ввести какую-то новую информацию в мастере