vs调试导致死机的问题

Dream_Hunter_ 2009-08-17 10:28:33

protected void ebtn_Click(object sender, ImageClickEventArgs e)
{
code.InnerHtml = txtCode.Text;
invoice.InnerHtml = txtInvoice.Text.Trim();
staff.InnerHtml = txtStaffName.Text;
date.InnerHtml = calender.Text.Trim();
//for (int i = 0; i < 10 - dtmnum.Rows.Count; i++)
//{
// DataRow row = dtmnum.NewRow();
// dtmnum.Rows.Add(row);
//}
binddocgdv(dtmnum);
foradd.Visible = false;
forprint.Visible = true;
}


以上是点击一个图片按钮生成打印单据的方法
我不用FOR循环没有问题
但是我一用FOR循环,后我浏览该页,点击生成单据,速度奇慢。
我关闭后,VS速度也奇慢,硬盘等一直亮着。过一会就跟死机一样。
FOR循环是用于控制格式的,即不满10行填满
不知道为什么,现在我都不敢加这个循环了。一调试就死机。
哪位大虾能帮帮我。
另外dtmnum实例化如下

DataTable dtmnum
{
get
{
return ViewState["dtmnum"] != null ? (DataTable)ViewState["dtmnum"] : null;
}
set
{
ViewState["dtmnum"] = value;
}
}

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
bindddlM();
bindddlSu();
initcode();

gdv.Attributes.Add("bordercolor", "B8B3B3");

DataTable dt = new DataTable();
dtmnum = dt;
dt.Columns.Add("m_Name", typeof(String));
dt.Columns.Add("su_Name", typeof(String));
dt.Columns.Add("m_ID", typeof(int));
dt.Columns.Add("bm_UnitPrice", typeof(float));
dt.Columns.Add("bm_Num", typeof(float));
dt.Columns.Add("un_Name", typeof(String));
dt.Columns.Add("un_ID", typeof(int));
dt.Columns.Add("bm_TotalPrice", typeof(float));

gdvdoc.Attributes.Add("bordercolor", "000000");

calender.Text = DateTime.Now.ToShortDateString();
}
}
...全文
276 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dream_Hunter_ 2009-08-17
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 cpp2017 的回复:]
这个不是引起死的原因,这样只会造成补不足10行.只会补5行.你调试一下看
到底在哪里卡住了
[/Quote]
这样写是会导致结果不正确。
改了之后调试没问题了。谢谢!~
cpp2017 2009-08-17
  • 打赏
  • 举报
回复
这个不是引起死的原因,这样只会造成补不足10行.只会补5行.你调试一下看
到底在哪里卡住了
Dream_Hunter_ 2009-08-17
  • 打赏
  • 举报
回复
您回答过我还些问题了。谢谢高手。我加你好友。向你学习!~
Dream_Hunter_ 2009-08-17
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 cpp2017 的回复:]
改成:


int iCount = dtmnum.Rows.Count;


for (int i = 0; i < 10 -  iCount; i++)
{

}
[/Quote]
。。。谢谢。汗颜。。
这都没看出来。
昨天我这样写的,
今天看以为多余,就改了,结果。。
cpp2017 2009-08-17
  • 打赏
  • 举报
回复
sorry
不对,用10去减,不会无限变大,上面的有误
cpp2017 2009-08-17
  • 打赏
  • 举报
回复
改成:



int iCount = dtmnum.Rows.Count;


for (int i = 0; i < 10 - iCount; i++)
{

}
cpp2017 2009-08-17
  • 打赏
  • 举报
回复
//for (int i = 0; i < 10 - dtmnum.Rows.Count; i++)
//{
// DataRow row = dtmnum.NewRow();
// dtmnum.Rows.Add(row);
//}

=====>
这样会死循环的. dtmnum.Rows.Count在你增加一行之后,又会变大,永无止境

62,046

社区成员

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

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

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

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