Как проверить нулевое значение в gridview с помощью подкачки gridview
Мой код выглядит следующим образом
private void SaveCheckedValues() { System.Collections.ArrayList userdetails = new System.Collections.ArrayList(); int index = -1; foreach (GridViewRow gvrow in grdRpt.Rows) { int.Parse((string)grdRpt.DataKeys[gvrow.RowIndex].Value); bool result = ((CheckBox)gvrow.FindControl("chkselecdata")).Checked; // Check in the Session if (Session["CHECKED_ITEMS"] != null) userdetails = (System.Collections.ArrayList)Session["CHECKED_ITEMS"]; if (result) { if (!userdetails.Contains(index)) userdetails.Add(index); } else userdetails.Remove(index); } if (userdetails != null && userdetails.Count > 0) Session["CHECKED_ITEMS"] = userdetails; }
В сетке следующим образом
selectdata transacteeid totalprice Qty Isactive checkbox 25 1 1 checkbox 2355 10 2 1 checkbox 1234 8 1 1
в приведенном выше gridview первом ряду transacteeid значение пусто.
когда я запускаю приведенный выше код показывает ошибку следующим образом
unable to caste object of type system.DBNull to type System.String.
Ошибка отображается в следующей строке следующим образом
как проверить пустое значение в строке gridview.
int.Parse((string)grdRpt.DataKeys[gvrow.RowIndex].Value);
как решить эту ошибку.
Что я уже пробовал:
Мой код выглядит следующим образом
private void SaveCheckedValues() { System.Collections.ArrayList userdetails = new System.Collections.ArrayList(); int index = -1; foreach (GridViewRow gvrow in grdRpt.Rows) { int.Parse((string)grdRpt.DataKeys[gvrow.RowIndex].Value); bool result = ((CheckBox)gvrow.FindControl("chkselecdata")).Checked; // Check in the Session if (Session["CHECKED_ITEMS"] != null) userdetails = (System.Collections.ArrayList)Session["CHECKED_ITEMS"]; if (result) { if (!userdetails.Contains(index)) userdetails.Add(index); } else userdetails.Remove(index); } if (userdetails != null && userdetails.Count > 0) Session["CHECKED_ITEMS"] = userdetails; }
В сетке следующим образом
selectdata transacteeid totalprice Qty Isactive checkbox 25 1 1 checkbox 2355 10 2 1 checkbox 1234 8 1 1
в приведенном выше gridview первом ряду transacteeid значение пусто.
когда я запускаю приведенный выше код показывает ошибку следующим образом
unable to caste object of type system.DBNull to type System.String.
Ошибка отображается в следующей строке следующим образом
как проверить пустое значение в строке gridview.
int.Parse((string)grdRpt.DataKeys[gvrow.RowIndex].Value);
как решить эту ошибку.
Richard MacCutchan
Почему вы передаете значение в строку; эти два параметра несовместимы. Вы, кажется, просто пишете случайные строки кода в надежде, что что-то волшебным образом сделает то, что вы хотите.