此处是堆栈溢出的新功能。 我正在寻找一种使CheckBox1在单击时打开和关闭的方法,而无需标签或.Text,因为在MySQL数据中,相应的值是布尔值。
当我在另一个页面的网格视图中列出我的数据时,该值保持锁定并按预期显示,但是在另一个CRUD页面中,我的复选框配置不正确。
我正在努力寻找一种方法来链接CheckBox1.Checked到Visual Studio中相应的tinyint值。
该复选框将标签值显示为True或False,我还不知道如何使该值打勾我的复选框,以及这是否是考虑代码的正确方法。如果我不够清楚,我深表歉意。
我已经在html对象下面显示了一个试图直接将布尔值检索到复选框的尝试,并显示了实际的读取方法,以便可以尝试正确地读取CheckBox1。
ativo:<asp:Checkbox id="Checkbox1" type="checkbox" runat="server" AutoPostBack="True" ClientIDMode="AutoID" Text=" " TextAlign="Left"></asp:Checkbox><br />
String sql = String.Format("insert into cliente(codigo, nome, email, telefone, senha, ativo) values('{0}','{1}',{2},{3},{4},'{5}')", txtCodigo.Text, txtNome.Text, txtEmail.Text, txtTelefone.Text, txtSenha.Text, (Checkbox1.Checked ? 1 : 0));
protected void read(object sender, EventArgs e)
{
try
{
MySqlConnection conexao = new MySqlConnection(sc);
conexao.Open();
String sql = "select * from cliente where codigo={0}" + txtCodigo.Text;
sql = String.Format(sql, txtCodigo.Text);
MySqlCommand comando = new MySqlCommand(sql, conexao);
MySqlDataReader registro = comando.ExecuteReader();
if (registro.Read())
{
txtCodigo.Text = registro["codigo"].ToString();
txtNome.Text = registro["nome"].ToString();
txtEmail.Text = registro["email"].ToString();
txtTelefone.Text = registro["telefone"].ToString();
txtSenha.Text = registro["senha"].ToString();
Checkbox1.Checked.ToString() = registro["ativo"].ToString();
lblMensagem.Text = "";
}
else
{
lblMensagem.Text = "Registro não encontrado !";
limpar();
}
conexao.Close();
}
catch (Exception err)
{
lblMensagem.Text = "Ocorreu um erro tente mais tarde !";
}
}
我希望创建,读取和更新此复选框。
答案 0 :(得分:0)
已检查属性为布尔值 因此您可以像这样将值转换为布尔值:
Checkbox1.Checked = Convert.ToBoolean(registro["ativo"])