我想在单击按钮提交时将一些值从网格插入到数据库。使用下面给出的代码时显示错误。代码如下。帮助我找到合适的解决方案。
代码:
protected void btnApprove_Click(object sender, EventArgs e)
{
ShadingAnalysisDataSetTableAdapters.tbl_ItemRequest_StatusTableAdapter rs;
rs = new ShadingAnalysisDataSetTableAdapters.tbl_ItemRequest_StatusTableAdapter();
var ItemName = (Label)GridView2.SelectedRow.Cells[1].FindControl("lblItem");
var Quantity = (Label)GridView2.SelectedRow.Cells[2].FindControl("lblQnty");
rs.testInsert(ItemName, Quantity);
}
我已经根据以上建议修改了我的代码。但是现在我遇到了另一个错误。新错误是:未将对象引用设置为对象的实例。
请您参考如下方法:
通过这样做
var ItemName = (Label)GridView2.SelectedRow.Cells[1].FindControl("lblItem");
ItemName 将是一个标签,而不是 lblItem 的文本值。我猜 rs.testInsert 方法的两个参数都是字符串,所以你得到了错误,因为你传递了两个标签而不是两个字符串。您可以从标签的 .Text 属性中获取文本值,如下所示
var ItemName = ((Label)GridView2.SelectedRow.Cells[1].FindControl("lblItem")).Text;
var Quantity = ((Label)GridView2.SelectedRow.Cells[2].FindControl("lblQnty")).Text;
