Не удается вызвать мой метод: невозможно преобразовать строку из «строки» в «System.DateTime»

1

Я сделал текстовые поля, которые позволяют пользователям вводить дату их рождения. Я также создал базу данных, связанную с этим текстовым полем, как часть моей страницы регистрации. Я создал класс с именем Member, который содержит два метода, один из которых имеет параметры. Моя проблема заключается в том, что я не могу преобразовать текстовое поле в поле "Время" в моем веб-элементе управления пользователя!

Это два метода в Class Members.cs

public string Register()
{
    if (Add())
        return "User Added successfully";
    else
        return "User not added, please change username and try again!";
}

public string Register(string username, string password, string name, string phone, string gender, System.DateTime dateofbirth, string email, string company, string question, string answer)
{
    this.username = username;
    this.password = password;
    this.name = name;
    this.email = email;
    this.phone = phone;
    this.company = company;
    this.gender = gender;
    this.dateofbirth = dateofbirth;
    this.question = question;
    this.answer = answer;
    return Register();
}

Код в моем веб-элементе управления пользователя:

protected void btnRegister_Click(object sender, EventArgs e)
{    
    System.Threading.Thread.Sleep(3000);
    Members M = new Members();
    lblMsg.Text = M.Register(txtUser.Text, txtPassword.Text, txtName.Text,txtEmail.Text, txtPhone.Text, txtCo.Text, rbnGender.SelectedValue, Convert.ToDateTime(txtDOB.Text), txtQuestion.Text, txtAnswer.Text);         
}
  • 0
    Какие ошибки вы получаете?
  • 0
    DateTime.TryParse или DateTime.TryParseExact
Показать ещё 2 комментария
Теги:

1 ответ

1
Лучший ответ

Вы принимаете эти параметры:

username, password, name, phone, gender, dateofbirth, email, company, question, answer

Но вы проходите в них, в неправильном порядке:

txtUser.Text, txtPassword.Text, txtName.Text, txtEmail.Text, txtPhone.Text, txtCo.Text, rbnGender.SelectedValue, Convert.ToDateTime(txtDOB.Text), txtQuestion.Text, txtAnswer.Text

Должен быть:

lblMsg.Text = M.Register(txtUser.Text, txtPassword.Text, txtName.Text, txtPhone.Text, rbnGender.SelectedValue, Convert.ToDateTime(txtDOB.Text), txtEmail.Text, txtCo.Text, txtQuestion.Text, txtAnswer.Text);

Тем не менее, вы должны, вероятно, использовать DateTime.Parse или DateTime.ParseExact чтобы преобразовать дату рождения.

  • 0
    Это сработало. Спасибо чувак! Я ценю это :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню