我正在获取InvalidCastException。从此代码
protected void btnSaveOpeningBalance_Click(object sender, EventArgs e)
{
try
{
AddItemBLL objAddItemsBll = new AddItemBLL();
List<SetItemDAO> objItmDAO = new List<SetItemDAO>();
SetItemDAO objItmDAOMaster = new SetItemDAO();
if (gvItem.Rows.Count > 0)
{
for(int i = 0;i<gvItem.Rows.Count;i++)
{
GridViewRow gvr = (GridViewRow)(((Control)sender).NamingContainer);
TextBox txtQuantity = (TextBox)gvItem.Rows[gvr.RowIndex].FindControl("txtQuantity");
double qty = (txtQuantity.Text.Trim().Length > 0) ? Convert.ToDouble(txtQuantity.Text.Trim()) : 0;
TextBox txtVal = (TextBox)gvItem.Rows[gvr.RowIndex].FindControl("txtValue");
double val = (txtVal.Text.Trim().Length > 0) ? Convert.ToDouble(txtVal.Text.Trim()) : 0;
objItmDAOMaster.ItemID = Convert.ToInt16(gvItem.DataKeys[gvr.RowIndex].Values["ItemID"]);
objItmDAOMaster.ItmQty = qty;
objItmDAOMaster.ItmVl = val;
//objItmDAO.Add(objItmDAOMaster);
bool result = objAddItemsBll.InsertItemBalance(objItmDAOMaster);
}
}
}
catch(Exception ex)
{
throw ex;
}
}
并给出此错误信息 “无法将类型为'System.Web.UI.WebControls.ContentPlaceHolder'的对象转换为类型为'System.Web.UI.WebControls.GridViewRow'。” 我也尝试这个
GridViewRow gvr = gvItem.Rows[gvItem.SelectedDataKey.Value];
但仍然出现相同的错误。