foreach套在for中为什么不走了呢

suxiaotao_ 2011-08-05 03:18:02
public void show()
{
Response.Write("show()方法");
int right_code = 0;
List<int> list = ShowMenu();
string rightSql = "select * from sys_right where right_code = "+right_code;
List<Right> rightList = new List<Right>();




DataTable rightTable = null;
for (int i = 0; i < list.Count; i++)
{
Response.Write("for循环");
right_code = list[i];
rightTable = DbHelp.ReturnDataTable( rightSql);

Response.Write("list中的值"+list[i]);
if (i<list.Count)
{
Response.Write("进入if循环了+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");


foreach (DataRow rightrow in rightTable.Rows)
{
Response.Write("进入foreach循环了+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");

Right rr = new Right();
rr.Right_code = Convert.ToInt32(rightrow["right_code"]);
rr.Right_parent_code = Convert.ToInt32(rightrow["right_parent_code"]);
rr.Right_text = Convert.ToString(rightrow["right_text"]);
rr.Right_url = Convert.ToString(rightrow["right_url"]);
rr.Right_type = Convert.ToString(rightrow["right_type"]);

string node = "";
string head = "";
if (rr.Right_type == "Folder")
{
head = "<h1 class=\"type\"><a href=\"javascript:void(0)\" target=\"mainFrame\">\"" + rr.Right_text + "\"</a></h1>";
}

string center = "<div class=\"content\"><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"> <tr><td><img src=\"images/menu_topline.gif\" width=\"160\" height=\"5\" alt=\"\" /></td></tr></table>";
string foot = " <ul class=\"MM\"><li><a href=\"" + rr.Right_url + "\" target=\"mainFrame\">\"" + rr.Right_text + "\"</a></li></ul>";
node = head + center + foot;
mainMenu.InnerHtml += node;

Response.Write(node);
rightList.Add(rr);

}

}
else
{
break;
}

}


}
...全文
209 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
suxiaotao_ 2011-08-05
  • 打赏
  • 举报
回复
判断了一下rightTable.Rows没有值,第一次发帖,就得到你们的帮助了,谢谢大家。
longbin891012 2011-08-05
  • 打赏
  • 举报
回复
//判断下rightTable是否有记录
if ((rightTable!= null) && (rightTable.Tables[0].Rows.Count > 0))
{
foreach (DataRow rightrow in rightTable.Rows){//......}

}
ustbwuyi 2011-08-05
  • 打赏
  • 举报
回复
打个断点一路F10不就明白了。
z195389542 2011-08-05
  • 打赏
  • 举报
回复
你查询到的rightTable是否有数据?
z195389542 2011-08-05
  • 打赏
  • 举报
回复
自己打上斷点
看下 if (i<list.Count)是否满足
以及 Foreach 中那个rightTable.Rows是否有值
MSDNXGH 2011-08-05
  • 打赏
  • 举报
回复
建议打断点,查看运行,代码太长了,
yue547283947 2011-08-05
  • 打赏
  • 举报
回复
断点

if (i<list.Count)
看这个条件满足不


然后看
rightTable.Rows 是不是有东西
子夜__ 2011-08-05
  • 打赏
  • 举报
回复
if (i<list.Count)
这个条件满足不。
木______木 2011-08-05
  • 打赏
  • 举报
回复
打断点 看看你return 的rightTable的rows

62,046

社区成员

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

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

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

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