输入字符串的不为单选按钮
问题描述:
我用了2个控件编辑gridview的inside.It正确的格式显示错误“输入字符串是不正确的格式”输入字符串的不为单选按钮
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
fill_grd();
fill_gender();
}
}
public void fill_gender()
{
con.Open();
SqlCommand cmd = new SqlCommand("usp_Gender_get", con);
cmd.CommandType = CommandType.StoredProcedure;
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
if (ds.Tables[0].Rows.Count > 0)
{
radiolist.DataValueField = "Gid";
radiolist.DataTextField = "Gname";
radiolist.DataSource = ds;
radiolist.DataBind();
}
con.Close();
}
public void fill_grd()
{
con.Open();
SqlCommand cmd = new SqlCommand("usp_Login_get", con);
cmd.CommandType = CommandType.StoredProcedure;
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
if (ds.Tables[0].Rows.Count > 0)
{
grd.DataSource = ds;
grd.DataBind();
}
else
{
grd.DataSource = null;
grd.DataBind();
}
con.Close();
}
protected void grd_RowEditing(object sender, GridViewEditEventArgs e)
{
grd.EditIndex = e.NewEditIndex;
fill_grd();
}
protected void grd_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
int id = int.Parse(grd.DataKeys[e.RowIndex].Value.ToString());
con.Open();
SqlCommand cmd = new SqlCommand("usp_Login_delete", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@Lid", id);
cmd.ExecuteNonQuery();
con.Close();
fill_grd();
}
protected void grd_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
TextBox TB1 = (TextBox)grd.Rows[e.RowIndex].FindControl("edittxtname");
RadioButtonList RBL1 = (RadioButtonList)grd.Rows[e.RowIndex].FindControl("editradiolist");
int id = int.Parse(grd.DataKeys[e.RowIndex].Value.ToString());
con.Open();
SqlCommand cmd = new SqlCommand("usp_Login_update", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@Lid", id);
cmd.Parameters.AddWithValue("@Name", TB1.Text);
cmd.Parameters.AddWithValue("@Gender", RBL1.SelectedValue);
cmd.ExecuteNonQuery();
con.Close();
grd.EditIndex = -1;
fill_grd();
}
protected void grd_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
grd.EditIndex = -1;
fill_grd();
}
protected void savebtn_Click(object sender, EventArgs e)
{
con.Open();
SqlCommand cmd = new SqlCommand("usp_Login_insert", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@Name", txtname.Text);
cmd.Parameters.AddWithValue("@Gender", int.Parse(radiolist.SelectedValue));
cmd.ExecuteNonQuery();
con.Close();
fill_grd();
}
}
}
答
不知道在您的错误发生并且你粘贴的代码与你的问题确实无关,但我会尽力回答。
您需要检查单选按钮的数据类型,它可能不是布尔或int。看来你是从你从数据库中得到的结果中设置数据类型,我猜你需要通过检查存储过程usp_Login_get和你为radiobutton列设置的数据类型来改变数据类型。
该代码与单选按钮无关;请发布产生该错误的实际代码。 –