Проверка, События страницы и ViewState - PullRequest
0 голосов
/ 01 мая 2011

У меня есть две кнопки на странице. Одна кнопка отвечает за проверку текстовых полей, связанную с регистрацией, а другая - с входом в систему. Проблема заключалась в том, что при нажатии одной из кнопок она обновляет страницу и отображает все недействительные поля (я не хочу, чтобы поля регистрации были проверяется RequiredFieldValidator, когда пользователь нажимает кнопку входа).

так, что я сделал, я использовал событие инициализации ..., чтобы предотвратить это ...

    static bool oneButtonPressed;
  protected void Page_Init(object sender, EventArgs e)
    {
        if (oneButtonPressed)
        {
            REgisterAge.Visible = false;
            RegisterAge2.Enabled = false;
            RegisterAge3.Enabled = false;
            RegisterPassword.Enabled = false;
            RegisterPassword2.Enabled = false;
            RegisterEmail.Enabled = false;
            RegisterEmail2.Enabled = false;    
        }
        else
        {
            EntryPasswordRequiredFieldValidator10.Enabled = false;
            EntryNameEntryRequiredFieldValidator9.Enabled = false;



        }

    }

    protected void entry_Click(object sender, EventArgs e)
    {
        oneButtonPressed = true;
    }
    protected void submitButton_Click(object sender, EventArgs e)
    {
        oneButtonPressed = false;
    }
}

Проблема здесь в том, что bool всегда ложен, когда страница отправляется обратно и загружается снова. Я помню, как мой учитель говорил, что я мог бы использовать ViewState или статическую переменную / метод для сохранения своих значений. Я ошибаюсь здесь ... я должен использовать ViewState?

1 Ответ

0 голосов
/ 01 мая 2011

Почему бы вам не назначить группу проверки каждому из полей + соответствующую кнопку отправки.Различные группы проверки будут гарантировать, что проверка не будет запускаться на несоответствующей форме.

     <asp:TextBox runat="server" ID="txtName" ValidationGroup="vRegistration"></asp:TextBox>
     <asp:LinkButton runat="server" ID="btnSubmit" ValidationGroup="vRegistration"></asp:LinkButton>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...