大家帮我看下这个循环有什么错误啊
Button btn = (Button)sender;string str = btn.CommandName;
foreach (GridViewRow i in GridView1.Rows)
{
if ((i.FindControl("btnInsert") as Button).ToString() != null)
{
cl.CCid = int.Parse(GridView1.DataKeys[i.RowIndex].Value.ToString());
if (string.IsNullOrEmpty(str))
{
Response.Redirect("DrawingIDAdd.aspx?id="+cl.CCid);
}
else
{
SKK.Common.PageHandler.RegisterAlert(this,"此条记录已有图色编号");
return;
}
}
} --------------------编程问答-------------------- if (string.IsNullOrEmpty(str))
{
Response.Redirect("DrawingIDAdd.aspx?id="+cl.CCid);
}
这就是错误啊!
如果满足条件的话都转到另一个页面了,你还指望他能转回来执行剩余的代码? --------------------编程问答-------------------- (i.FindControl("btnInsert") as Button).ToString() != null 这个判断肯定没有起作用了~~错了 --------------------编程问答-------------------- 我认为你的i.FindControl("btnInsert") 就没有找到。
放在数据绑定事件中,不用循环,他自己就知道一行一行的处理。 --------------------编程问答-------------------- 要我们猜什么 --------------------编程问答-------------------- if ((i.FindControl("btnInsert") as Button).ToString() != null)
这个如果没有对象tostring会错的。 --------------------编程问答-------------------- if ((i.FindControl("btnInsert") as Button).ToString() != null)
如果找不到button,tostring方易做图缺少对象的错误。
另,要我们猜什么? --------------------编程问答-------------------- Button b;
LiteralControl ta;
LiteralControl tr;
LiteralControl td;
ta = new LiteralControl("<table >");
this.Page.Controls[3].Controls.Add(ta);
for (int i = 1; i < 8; i++)
{
tr = new LiteralControl("<tr>");
this.Page.Controls[3].Controls.Add(tr);
for (int j = 1; j < 10; j++)
{
td = new LiteralControl("<td>");
this.Page.Controls[3].Controls.Add(td);
b = new Button();
b.Text = gy + i + "0" + j;
b.ID = gy + i + "0" + j;
b.Width = new Unit(40);
b.BackColor = System.Drawing.Color.Transparent;
b.Click += new EventHandler(b_Click);
this.Page.Controls[3].Controls.Add(b);
}
for (int k = 10; k < 25; k++)
{
if (k == 13)
{
tr = new LiteralControl("<tr>");
this.Page.Controls[3].Controls.Add(tr);
}
td = new LiteralControl("<td>");
this.Page.Controls[3].Controls.Add(td);
b = new Button();
b.Text = gy + i + k;
b.ID = gy + i + k;
b.Width = new Unit(40);
b.BackColor = System.Drawing.Color.Transparent;
b.Click+=new EventHandler(b_Click);
this.Page.Controls[3].Controls.Add(b);
}
}
}
catch (Exception ee)
{
Response.Write(ee.Message);
}
}
void b_Click(object sender, EventArgs e)
{
for (int j = 0; j < Page.Controls[3].Controls.Count; j++)
{
if (Page.Controls[3].Controls[j] is Button)
{
if (sender.Equals(Page.Controls[3].Controls[j]))
{
Session["fjmc"] = Page.Controls[3].Controls[j].ID;
Response.Redirect("fj.aspx");
}
}
}
}
我想是想实现这个一个功能吧? --------------------编程问答-------------------- 有点麻烦了。我写的<table><tr><td>都是排版的。你看b那几行就行了。
补充:.NET技术 , ASP.NET