[英]String was not recognized as a valid boolean in C# RadioButton
我想将值从一种形式发送到另一种形式,这意味着当我单击按钮时,我想通过id列将学生值发送到另一种形式。 但是,当我要发送RadioButton值时,出现了关于无法识别字符串的错误。
请注意,我不将RadioButton值另存为字符串,即Male或Female到数据库中。
这是代码本身。
if (this.isupdate)
{
DataTable dtStudentInfo = GetAllStudentInfoById(this.StudentId);
DataRow row = dtStudentInfo.Rows[0];
tbID.Text = row["std_id"].ToString();
tbName.Text = row["std_name"].ToString();
tbFatherName.Text = row["std_f_name"].ToString();
tbAddress.Text = row["std_address"].ToString();
tbBatchNo.Text = row["std_batch"].ToString();
tbBatchYear.Text = row["std_batch_year"].ToString();
tbCNIC.Text = row["std_cnic"].ToString();
tbMobNumber.Text = row["std_mob"].ToString();
rbMale.Checked = (row["std_gender"] is DBNull) ? false : Convert.ToBoolean(row["std_gender"] = 1) ? true : false);
}
一个小的错别字会给谁带来很大的不同。
Convert.ToBoolean(row["std_gender"] = 1)
本来是(转换在这里是不必要的):
Convert.ToBoolean(row["std_gender"] == 1)
错字导致row["std_gender"]
设置为1,这使转换失败。
尝试
Convert.ToBoolean(row["std_gender"].ToString() == "1")
解决了..!!! 代码是正确的...返回类型只是一个小错误。
private object GetGender()
{
if (rbMale.Checked)
{
return (int)Gender.Male;
}
else if (rbFemale.Checked)
{
return (int)Gender.Female;
}
else
{
return (int)Gender.NoSelection;
}
}
只需将返回类型从object更改为int,并将性别的数据类型也从varchar更改为int ...这是代码
private int GetGender()
{
if (rbMale.Checked)
{
return (int)Gender.Male;
}
else if (rbFemale.Checked)
{
return (int)Gender.Female;
}
else
{
return (int)Gender.NoSelection;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.