asp.net checkbox疑问
我要做个图书查询的界面,用checkbox或checkboxlist,按图书名,分类,作者来查询,具体是,先选择按什么方式查询(例如按图书名或者按分类和图书名一起),然后...
我要做个图书查询的界面,用checkbox或checkboxlist,按图书名,分类,作者来查询,具体是,先选择按什么方式查询(例如按图书名或者按分类和图书名一起),然后根据这种方式去查询数据库中的数据,请哪位高手指点一下代码改怎么写!主要是checkbox的那部分代码!
展开
展开全部
不要用checkboxlist了,直接用三个checkbox好了。 把CheckBox的AutoPostBack设为true.
你的UI设计推荐这个样子
CheckBox 图书名 TextBox供输入图书名
CheckBox 图书分类 DropDownList供选择图书分类
CheckBox 图书作则 TextBox供输入作者
默认状态下,两个TextBox和DropDownList是Disable的,在勾选前面的checkbox 后,把相应的输入控件enable。
提交查询后主要代码如下(以拼SQL语句查询为例)
SqlConnection conn = new SqlConnection("数据库连接字符串");
conn.Open();
StringBuilder sqlBuilder = new StringBuilder("Select * from books ");
// 只要有一个查询条件
if (checkboxBookName.Checked || checkboxCategory.Checked || checkboxArthur.Checked)
{
sqlBuilder.Append("Where ");
}
if (checkboxBookName.Checked)
{
sqlBuilder.Append("bookname like '");
sqlBuilder.Append(textboxBookName.Text);
sqlBuilder.Append("%' ");
}
if (checkboxCategory.Checked)
{
if (checkboxBookName.Checked)
{
sqlBuilder.Append("AND bookcategory='");
}
else
{
sqlBuilder.Append("bookcategory='");
}
sqlBuilder.Append(ddlCategory.Text);
sqlBuilder.Append("' ");
}
if (checkboxArthur.Checked)
{
if (checkboxBookName.Checked || checkboxCategory.Checked)
{
sqlBuilder.Append("AND arthur like '");
}
else
{
sqlBuilder.Append("arthur like '");
}
sqlBuilder.Append(textboxArthur.Text);
sqlBuilder.Append("%'");
}
SqlDataAdapter da = new SqlDataAdapter(sqlBuilder.ToString(), conn);
DataSet ds = new DataSet();
da.Fill(ds);
如果是存储过程,那么使用三个参数。逻辑基本照上
你的UI设计推荐这个样子
CheckBox 图书名 TextBox供输入图书名
CheckBox 图书分类 DropDownList供选择图书分类
CheckBox 图书作则 TextBox供输入作者
默认状态下,两个TextBox和DropDownList是Disable的,在勾选前面的checkbox 后,把相应的输入控件enable。
提交查询后主要代码如下(以拼SQL语句查询为例)
SqlConnection conn = new SqlConnection("数据库连接字符串");
conn.Open();
StringBuilder sqlBuilder = new StringBuilder("Select * from books ");
// 只要有一个查询条件
if (checkboxBookName.Checked || checkboxCategory.Checked || checkboxArthur.Checked)
{
sqlBuilder.Append("Where ");
}
if (checkboxBookName.Checked)
{
sqlBuilder.Append("bookname like '");
sqlBuilder.Append(textboxBookName.Text);
sqlBuilder.Append("%' ");
}
if (checkboxCategory.Checked)
{
if (checkboxBookName.Checked)
{
sqlBuilder.Append("AND bookcategory='");
}
else
{
sqlBuilder.Append("bookcategory='");
}
sqlBuilder.Append(ddlCategory.Text);
sqlBuilder.Append("' ");
}
if (checkboxArthur.Checked)
{
if (checkboxBookName.Checked || checkboxCategory.Checked)
{
sqlBuilder.Append("AND arthur like '");
}
else
{
sqlBuilder.Append("arthur like '");
}
sqlBuilder.Append(textboxArthur.Text);
sqlBuilder.Append("%'");
}
SqlDataAdapter da = new SqlDataAdapter(sqlBuilder.ToString(), conn);
DataSet ds = new DataSet();
da.Fill(ds);
如果是存储过程,那么使用三个参数。逻辑基本照上
展开全部
private void CheckBox2_CheckedChanged(object sender, System.EventArgs e)
{
if(this.CheckBox2.Checked==true)
{
this.TextBox2.Enabled=false;
}
else
this.TextBox2.Enabled=true;
}
把checkbox的AutoPostBack属性设置为true
{
if(this.CheckBox2.Checked==true)
{
this.TextBox2.Enabled=false;
}
else
this.TextBox2.Enabled=true;
}
把checkbox的AutoPostBack属性设置为true
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是不是一个checkbox对应一个图书名或者分类或者作者呢?
如果是这样,很简单的,明早来告诉你。HI我,具体代码不想写,只是给你点重点提示和关键代码就行
如果是这样,很简单的,明早来告诉你。HI我,具体代码不想写,只是给你点重点提示和关键代码就行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
遍历checkboxlist的选中项,然后拼接字符串。
foreach (ListItem item in checkboxlist1.Items)
{
if (item.Selected)
{
str += item.Value+"',";
}
}
foreach (ListItem item in checkboxlist1.Items)
{
if (item.Selected)
{
str += item.Value+"',";
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if(aa.checked)
这样就判断checkbox是不是被选中。。。
这样就判断checkbox是不是被选中。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询