我制作了一个文本框,允许用户输入他们的出生日期。我还创建了一个链接到此文本框的数据库,作为我的注册页面的一部分。我创建了一个名为Members的类,它包含两个方法,其中一个方法有参数。 我的问题是我无法在我的网络用户控件中转换日期时间的文本框!
这是类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 :(得分: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
来转换您的出生日期字段。