Я сделал текстовые поля, которые позволяют пользователям вводить дату их рождения. Я также создал базу данных, связанную с этим текстовым полем, как часть моей страницы регистрации. Я создал класс с именем 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);
}
Вы принимаете эти параметры:
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
чтобы преобразовать дату рождения.