注册 登录
编程论坛 ASP.NET技术论坛

求助:未赋值的局部变量

yunj1105 发布于 2007-04-12 16:04, 827 次点击
问题:使用了未赋值的局部变量“dg”“flag”,代码如下:
protected void Button1_Click(object sender, EventArgs e)
{
int flag;
DataGrid dg;
if (rad1.Checked)
{
flag = 0;
dg = DataGrid1;
}
else if (rad2.Checked)
{
flag = 1;
dg = DataGrid2;
}
else
{
Response.Write("<script defer>alert('请选择必/选修项');</script>");
}
foreach (DataGridItem Item in dg.Items)
{
if (Item.ItemType == ListItemType.Item || Item.ItemType == ListItemType.AlternatingItem)
{
RadioButton radID = ((RadioButton)Item.FindControl("rad"));
if (radID.Checked == true)
{
int num = int.Parse(Item.Cells[0].Text);
string name=Item.Cells[1].Text;
int period = int.Parse(Item.Cells[2].Text);
string Cmd3 = "insert into lab_stu_course(user_ID,Cou_num,Cou_name,Cou_flag,Cou_period) values('" + Session["user_ID"].ToString() + "','" + num + "','" + name + "','"+ flag +"','" + period + "')";
Comm1 add_course = new Comm1();
add_course.ENQ(Cmd3);
}
大家帮忙看看怎么改?
5 回复
#2
xiezili2007-04-12 16:57
DataGrid dg=null;
或者:DataGrid dg=new DataGrid();
#3
yunj11052007-04-13 10:18
不是这个问题啊,出错的地方我用红色标了
#4
冰镇柠檬汁儿2007-04-13 11:07
当然会出现你的情况啊,因为你在最后的那个else里没有对flag赋值啊
if (rad1.Checked)
{
flag = 0;
dg = DataGrid1;
}
else if (rad2.Checked)
{
flag = 1;
dg = DataGrid2;
}
else
{
Response.Write("<script defer>alert('请选择必/选修项');</script>");
}
#5
windstores2007-04-14 00:07
protected void Button1_Click(object sender, EventArgs e)
{
int flag;
DataGrid dg;
if (rad1.Checked)
{
flag = 0;
dg = DataGrid1;
}
else if (rad2.Checked)
{
flag = 1;
dg = DataGrid2;
}
else
{
Response.Write("<script defer>alert('请选择必/选修项');histoy.go(-1); </script>");
Response.End();
}
#6
yunj11052007-04-16 15:02

恩,知道了谢谢大家

1