第一次加载网页可以绑定数据。。为什么点击完按钮 DataList显示不出我想要的数据呢

qaqaqa 2003-09-30 01:19:38
data newdata = new data();


private void Page_Load(object sender, System.EventArgs e)
{
//if(Session.Count==0) Page.Response.Redirect("../index.aspx");
if(!IsPostBack)
{
string Category_Display_Sql = "SELECT * FROM Category WHERE ({ fn LENGTH(Category_id) } = 9)";//"select * from Category";
Category_Display_BindGrid(Category_Display_Sql);
}
else
{

}
}

#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion

public void Category_Display_BindGrid(string Sql)
{
try
{
this.Category_DataList.DataSource= newdata.dbbind( Sql );
this.Category_DataList.DataBind();
}
catch(Exception)
{

}
}

private void Button1_Click(object sender, System.EventArgs e)
{
string Sql = null;

if( this.CheckBoxList1.Items[0].Value =="一级分类" )
{
Sql = "SELECT * FROM Category WHERE ({ fn LENGTH(Category_id) } = 4)";
}
else if( this.CheckBoxList1.Items[1].Value =="二级分类" )
{
Sql = "SELECT * FROM Category WHERE ({ fn LENGTH(Category_id) } = 9)";
}
else if( this.CheckBoxList1.Items[2].Value =="三级分类" )
{
Sql = "SELECT * FROM Category WHERE ({ fn LENGTH(Category_id) } = 14)";
}
Category_Display_BindGrid(Sql);
}
}
}
...全文
66 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
暗石绿 2003-09-30
  • 打赏
  • 举报
回复
在Button事件中,你把
Sql = "SELECT * FROM Category WHERE ({ fn LENGTH(Category_id) } = 4)";
写到 if 体外面试试。
duanxl 2003-09-30
  • 打赏
  • 举报
回复
不能去掉if(!***),看一下你得DataSource是不是click以后变为空了
ALong_Yue 2003-09-30
  • 打赏
  • 举报
回复
去掉if(!IsPostBack)。
qaqaqa 2003-09-30
  • 打赏
  • 举报
回复
问题解决了。是checkboxlist的问题

判断应当是:if(this.CheckBoxList1.Items[1].checked )
{

}
gOODiDEA 2003-09-30
  • 打赏
  • 举报
回复
为什么第二次加载页面,下边的代码不能执行呢。。。
///////////////////////////////////////////////////

这个不应该,你把断点打到string Sql = null;上试试

你看看是不是执行完If语句后Sql依然为null?
qaqaqa 2003-09-30
  • 打赏
  • 举报
回复
为什么第二次加载页面,下边的代码不能执行呢。。。
private void Button1_Click(object sender, System.EventArgs e)
{
string Sql = null;

if( this.CheckBoxList1.Items[0].Value =="一级分类" )
{
Sql = "SELECT * FROM Category WHERE ({ fn LENGTH(Category_id) } = 4)";
}
else if( this.CheckBoxList1.Items[1].Value =="二级分类" )
{
Sql = "SELECT * FROM Category WHERE ({ fn LENGTH(Category_id) } = 9)";
}
else if( this.CheckBoxList1.Items[2].Value =="三级分类" )
{
Sql = "SELECT * FROM Category WHERE ({ fn LENGTH(Category_id) } = 14)";
}
Category_Display_BindGrid(Sql);
}
qaqaqa 2003-09-30
  • 打赏
  • 举报
回复
各位大哥都不对阿。。。自想想。。。。。。。。
qaqaqa 2003-09-30
  • 打赏
  • 举报
回复
怎么解决呢
活靶子哥哥 2003-09-30
  • 打赏
  • 举报
回复
是不是这个if(!Page.IsPostBack)?

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧