如何从ASP.NET中选定的gridview行获取布尔值, 这就是我从gridview获取正常字符串的方法,它可以正常工作
string name = GridViewSokEvent.SelectedRow.Cells[9].Text;
Altough当我尝试使用boolean时它不会工作,如果有人知道如何做或有任何提示,请告诉我,谢谢!
答案 0 :(得分:0)
Boolean check = Convert.ToBoolean(GridViewSokEvent.SelectedRow.Cells[9].Text));
不要忘记异常处理。
UPD。如果你确实得到了例外
很可能你的单元格包含:DBNull或null,或空字符串"",既不构成布尔值True或False,也不构成0或1.所以你需要一个if语句来检查您的单元格包含的字符串是" True"或"错误"或" 0"或" 1"。据我所知,Convert.ToBoolean()不够智能,无法处理其他任何事情。
Boolean check = False; //Have to initialize outside the if
string message = GridViewSokEvent.SelectedRow.Cells[9].Text;
if (message == "True" || message == "False" || message == "0" || message == "1")
{
check = Convert.ToBoolean(message);
}
答案 1 :(得分:0)
由于您使用的是gridview布尔值,因此它们会为您生成一个复选框,您可以从中获取bool值,这样的事情应该有效:
CheckBox c = (CheckBox)GridViewSokEvent.SelectedRow.FindControl("CheckBox1");
if(c.Checked == true)
{
//do something
}
else if(c.Checked == false)
{
//do something
}
答案 2 :(得分:0)
古老的问题,但这也许对其他人来说是一个很好的解决方案:
Boolean check = GridViewSokEvent.SelectedRow.Cells[9].Value is DBNull ? false:(bool)GridViewSokEvent.SelectedRow.Cells[9].Value;