当前位置: 代码迷 >> ASP.NET >> 当GridViewz中的Cells[4]。Text为空时,出错呀 如何解决
  详细解决方案

当GridViewz中的Cells[4]。Text为空时,出错呀 如何解决

热度:8884   发布时间:2013-02-25 00:00:00.0
当GridViewz中的Cells[4]。Text为空时,出错呀 怎么解决
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
  {
  string sum = "";

  if (e.Row.RowType == DataControlRowType.Header)
  {

  }

  if (e.Row.RowType == DataControlRowType.DataRow)
  {
  sum += Convert.ToDouble(e.Row.Cells[4].Text)*0.7 + Convert.ToDouble(e.Row.Cells[5].Text)*0.2 + Convert.ToDouble(e.Row.Cells[6].Text)*0.1;
  e.Row.Cells[7].Text = sum;
  }
}

------解决方案--------------------------------------------------------
e.Row.Cells[4].Text先判断下吧

或者三目运算符解决
------解决方案--------------------------------------------------------
C# code
sum += Convert.ToDouble(e.Row.Cells[4].Text)*0.7 + Convert.ToDouble(e.Row.Cells[5].Text)*0.2 + Convert.ToDouble(e.Row.Cells[6].Text)*0.1;把这个分开,一个一个写!double a = Convert.ToDouble(e.Row.Cells[4].Text  == "" ? 0 : e.Row.Cells[4].Text);double b = Convert.ToDouble(e.Row.Cells[5].Text  == "" ? 0 : e.Row.Cells[5].Text);double c = Convert.ToDouble(e.Row.Cells[6].Text  == "" ? 0 : e.Row.Cells[6].Text);sum += a+b+c;
------解决方案--------------------------------------------------------
C# code
  //1.          if (e.Row.Cells[4].Text.ToString() != "")            {                 //处理            }   //2.//模板列的话这么处理            TextBox txtPrice = e.Row.FindControl("tbPrice") as TextBox;            if (txtPrice.Text.ToString() == "")            {                //处理            }            else            {                 //处理            }
  相关解决方案