为何会这么慢呢?

sky_234 2005-01-19 04:20:21
我现在在用ASP.NET(C#)开发一个项目,在操作DataGrid里的设置的CheckBox时,整个CPU都被占用,而又一直运行不到我在代码里设置的断点,要等几分钟才能跳到代码里继续运行,我因为第一次使用C#开发ASP.NET的程序,所以不知道是怎么回事?而运行页面的跳转又一切正常,包括修改、保存都很正常,唯独使用DataGrid里附加的选择、删除等操作时就出现以上情况,我不知道CPU被占用的这段时间在运行什么代码?请知道的朋友告知,万分感谢!!!
...全文
136 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
sky_234 2005-01-19
  • 打赏
  • 举报
回复
我只想能实现全部选择或全部取消选择在DataGrid里的数据列表!可当我点及“全部选择”或“全部取消”按纽时,CPU就一直被aspnet_xp的线程占用,按纽下对应的代码也不执行,这到底是为什么?
conghui 2005-01-19
  • 打赏
  • 举报
回复
不太明白,你想实现什么功能

sky_234 2005-01-19
  • 打赏
  • 举报
回复
public class ScoreCS : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataGrid ItemGrid;
protected System.Web.UI.WebControls.Label lblError;
protected System.Web.UI.WebControls.ImageButton btnUpdate;
protected System.Web.UI.WebControls.ImageButton btnDel;

private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!Page.IsPostBack)
{
if(Object.Equals(Session["UserCode"],null))
{
Response.Redirect("LeftLogin.aspx");
return;
}
else
if ((bool)Session["XTWH"]==false)
{
Session["memo"] = "您没有权限执行这类操作!";
Response.Redirect("NoRight.aspx");
return;
}
ViewState["dsScoreSet"] = SunShine.DoctorStudy.ScoreClass.GetScore(Session["UserDept"].ToString());
LoadData();
btnUpdate.Attributes.Add("onClick","javascript:return confirm('你确实要初审当前选择的学分记录吗?')");
btnDel.Attributes.Add("onClick","javascript:return confirm('你确实要删除当前选择的学分记录吗?')");
}
}

private void LoadData()
{
DataSet ds = (DataSet)ViewState["dsScoreSet"];
ItemGrid.DataSource = ds;
this.DataBind();
}

private void CheckAll(bool Flag)
{
CheckBox cb = new CheckBox();
int i,j = ItemGrid.Items.Count;
for(i=0;i<j;i++)
{
cb = (CheckBox)ItemGrid.Items[i].Cells[0].FindControl("CheckBox1");
cb.Checked = Flag;
}
}

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

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.btnDel.Click += new System.Web.UI.ImageClickEventHandler(this.Imagebutton2_Click);
this.ItemGrid.ItemCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.ItemGrid_ItemCommand);
this.ItemGrid.PageIndexChanged += new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.ItemGrid_PageIndexChanged);
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion

private void btnUpdate_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
CheckBox cb = new CheckBox();
string s_SQL = "";

int i,j = ItemGrid.Items.Count;
for(i=0;i<j;i++)
{
cb = (CheckBox)ItemGrid.Items[i].Cells[0].FindControl("CheckBox1");
if(cb.Checked)
{
if (s_SQL=="")
{
s_SQL = "SerialNo="+ItemGrid.Items[i].Cells[2].Text.ToString();
}
else
{
s_SQL = s_SQL+" or SerialNo="+ItemGrid.Items[i].Cells[2].Text.ToString();
}
}
}
if (s_SQL=="")
{
lblError.Text = "请先选择要初审的学分记录!";
return;
}

try
{
SunShine.DoctorStudy.ScoreClass sc = new SunShine.DoctorStudy.ScoreClass();
sc.SHScoreRec(s_SQL,false,Session["UserDept"].ToString(),Session["UserCode"].ToString());
//((DataSet)ViewState["dsScoreSet"]).Clear();
//ViewState["dsScoreSet"] = SunShine.DoctorStudy.ScoreClass.GetScore(Session["UserDept"].ToString());
Response.Redirect("ScoreCS.aspx");
}
catch(Exception er)
{
throw new Exception(er.Message);
}
}

private void ItemGrid_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
switch(e.CommandName)
{
case "CheckAll":
CheckAll(true);
break;
case "ClearAll":
CheckAll(false);
break;
}
}

private void Imagebutton2_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
CheckBox cb = new CheckBox();
string s_SQL = "";

int i,j = ItemGrid.Items.Count;
for(i=0;i<j;i++)
{
cb = (CheckBox)ItemGrid.Items[i].Cells[0].FindControl("CheckBox1");
if(cb.Checked)
{
if (s_SQL=="")
{
s_SQL = "SerialNo="+ItemGrid.Items[i].Cells[2].Text.ToString();
}
else
{
s_SQL = s_SQL+" or SerialNo="+ItemGrid.Items[i].Cells[2].Text.ToString();
}
}
}
if (s_SQL=="")
{
lblError.Text = "请先选择要删除的学分记录!";
return;
}

try
{
SunShine.DoctorStudy.ScoreClass sc = new SunShine.DoctorStudy.ScoreClass();
sc.DelScoreRec(s_SQL);
//((DataSet)ViewState["dsScoreSet"]).Clear();
//ViewState["dsScoreSet"] = SunShine.DoctorStudy.ScoreClass.GetScore(Session["UserDept"].ToString());
Response.Redirect("ScoreCS.aspx");
}
catch(Exception er)
{
throw new Exception(er.Message);
}
}

private void ItemGrid_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
ItemGrid.CurrentPageIndex = e.NewPageIndex;
LoadData();
}

}
sky_234 2005-01-19
  • 打赏
  • 举报
回复
不是很多啊,只有几十条数据!
conghui 2005-01-19
  • 打赏
  • 举报
回复
DataGrid中的数据是不是很多?
sky_234 2005-01-19
  • 打赏
  • 举报
回复
我点击“全部选择”按纽后,就没有执行按纽下的代码,CPU就一直被占用,所以不知道CPU在运行什么代码!
冷月孤峰 2005-01-19
  • 打赏
  • 举报
回复
你的代码怎么写的啊?

62,046

社区成员

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

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

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

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