Что я хочу сделать, так это проверить данный ввод пользователем, а затем установить фокус на недопустимый ввод в текстовом поле.
Моя функция кнопки сохранения приведена ниже.
protected void btnSave_OnClick(object sender, EventArgs e)
{
try
{
if (ValidateForm())
{
Users objUser = new Users();
objUser.Username = this.txtUsername.Text;
objUser.Password = this.txtPassword.Text;
objUser.Add();
this.labelMessage.Text = "User has been saved successfully";
}
}
catch (Exception ex)
{
Monitoring.WriteException(ex);
}
}
Функция проверки для проверки того, что данный ввод не является нулевым или пустым.
private bool ValidateForm()
{
bool isvalidate = true;
try
{
string username = this.txtUsername.Text;
string password = this.txtPassword.Text;
if (username == "" || username == string.Empty)
{
this.labelMessage.Text = "Please enter username";
this.txtUsername.Focus();
isvalidate = false;
}
else if (password == "" || password == string.Empty)
{
this.labelMessage.Text = "Please enter password";
this.txtPassword.Focus();
isvalidate = false;
}
}
catch (Exception ex)
{
Monitoring.WriteException(ex);
}
return isvalidate;
}
Проблема в том, что я не могу установить фокус на любое текстовое поле после проверки. Кто-нибудь знает, где я ошибаюсь? Или есть другой лучший способ? Я много искал, но большинство из них фокусировались на загрузке страницы (обратной публикации). Я хочу сделать это из кода позади.