无法将类型“int”隐式转换为“bool”

protectedvoidButton5_Click(objectsender,EventArgse){try{for(inti=0;i<=GridView1.Rows.... protected void Button5_Click(object sender, EventArgs e)
{
try
{
for (int i = 0;i<=GridView1.Rows.Count-1 ;i++ )
{
CheckBox cb = (CheckBox)GridView1.Rows[i].FindControl("CkeckBoxItem");
if (CheckBox2.Checked)
{
int Id = int.Parse(GridView1.Rows[i].Cells[1].Text.ToString());
if (Id = 0)
{
throw new Exception("该记录不能删除!");
}

}
else
{

}
}
Common.alert("删除完成!");

}
catch (Exception exp)
{ MessageBox.Show(exp.Message); }
MyDataBind(AspNetPager1.CurrentPageIndex);
}
展开
 我来答
弘菀柳XI
推荐于2017-09-14 · TA获得超过1052个赞
知道小有建树答主
回答量:238
采纳率:0%
帮助的人:88.2万
展开全部
if (Id = 0)//应该改为if (Id = =0),你原来是个赋值语句,得到一个int值,而if条件是一个布尔值,所以会报错
{
throw new Exception("该记录不能删除!");
}
worldxa
2011-10-15 · TA获得超过1720个赞
知道小有建树答主
回答量:529
采纳率:0%
帮助的人:719万
展开全部
protected void Button5_Click(object sender, EventArgs e)
{
try
{
for (int i = 0;i<=GridView1.Rows.Count-1 ;i++ )
{
CheckBox cb = (CheckBox)GridView1.Rows[i].FindControl("CkeckBoxItem");
if (CheckBox2.Checked)
{
int Id = int.Parse(GridView1.Rows[i].Cells[1].Text.ToString());
if (Id == 0) // 少了一个等号,要不然就变成赋值,而if的 条件的结果要求为bool,所以才会报无法将类型“int”隐式转换为“bool”
{
throw new Exception("该记录不能删除!");
}

}
else
{

}
}
Common.alert("删除完成!");

}
catch (Exception exp)
{ MessageBox.Show(exp.Message); }
MyDataBind(AspNetPager1.CurrentPageIndex);
}

希望回答对你有帮助
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
定初ct
2011-10-15 · 超过12用户采纳过TA的回答
知道答主
回答量:124
采纳率:0%
帮助的人:41.3万
展开全部
if (Id = 0)。。。这是赋值语句。在C语言或C++里面是通过的,但是C#是通不过的哈。这也是为了防止这种错误!http://www.bbsmvc.com/default.html
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式