asp.net checkbox疑问

我要做个图书查询的界面,用checkbox或checkboxlist,按图书名,分类,作者来查询,具体是,先选择按什么方式查询(例如按图书名或者按分类和图书名一起),然后... 我要做个图书查询的界面,用checkbox或checkboxlist,按图书名,分类,作者来查询,具体是,先选择按什么方式查询(例如按图书名或者按分类和图书名一起),然后根据这种方式去查询数据库中的数据,请哪位高手指点一下代码改怎么写!主要是checkbox的那部分代码! 展开
 我来答
forward09
2009-04-07 · TA获得超过136个赞
知道小有建树答主
回答量:89
采纳率:0%
帮助的人:0
展开全部
不要用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);

如果是存储过程,那么使用三个参数。逻辑基本照上
悠蓝小小
2009-04-12 · 超过12用户采纳过TA的回答
知道答主
回答量:12
采纳率:0%
帮助的人:0
展开全部
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
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lackyhuang
2009-04-07 · TA获得超过633个赞
知道小有建树答主
回答量:813
采纳率:0%
帮助的人:869万
展开全部
是不是一个checkbox对应一个图书名或者分类或者作者呢?
如果是这样,很简单的,明早来告诉你。HI我,具体代码不想写,只是给你点重点提示和关键代码就行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
林聘书屋喜添8498
2009-04-08 · 超过54用户采纳过TA的回答
知道答主
回答量:361
采纳率:100%
帮助的人:0
展开全部
遍历checkboxlist的选中项,然后拼接字符串。

foreach (ListItem item in checkboxlist1.Items)
{
if (item.Selected)
{
str += item.Value+"',";
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Me_jacky
2009-04-07 · 超过62用户采纳过TA的回答
知道答主
回答量:225
采纳率:0%
帮助的人:161万
展开全部
if(aa.checked)
这样就判断checkbox是不是被选中。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式