C# 在实体框架生成的GridView上插入/更新/删除
我正在使用EF 6.1.3和SQL server 2014用于此ASP.NET Web表单应用程序。我在.aspx页面设计视图上拖放了一个gridview,并使用智能标记选择数据源并自动填充网格。我在gridview上启用了编辑和删除操作,它可以正常工作,但我希望它使用我编写的函数 这是我尝试的删除操作C# 在实体框架生成的GridView上插入/更新/删除,c#,asp.net,entity-framework,gridview,C#,Asp.net,Entity Framework,Gridview,我正在使用EF 6.1.3和SQL server 2014用于此ASP.NET Web表单应用程序。我在.aspx页面设计视图上拖放了一个gridview,并使用智能标记选择数据源并自动填充网格。我在gridview上启用了编辑和删除操作,它可以正常工作,但我希望它使用我编写的函数 这是我尝试的删除操作 protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) {
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Delete")
{
int rowIndex = Convert.ToInt32(e.CommandArgument);
Result<Models.UserList> result;
using (ModelOperations.UserList.IUserListOperations dao = new ModelOperations.UserList.UserListOperations())
{
result = dao.removeUser(new Models.UserList()
{
ID = Convert.ToInt32((GridView1.Rows[rowIndex].Cells[1].Text))
});
}
}
}
protectedvoid GridView1\u行命令(对象发送方,GridViewCommandEventArgs e)
{
如果(如CommandName==“删除”)
{
int rowIndex=Convert.ToInt32(e.CommandArgument);
结果;
使用(ModelOperations.UserList.IUserListOperations dao=newmodelOperations.UserList.UserListOperations())
{
result=dao.removeUser(newmodels.UserList()
{
ID=Convert.ToInt32((GridView1.Rows[rowIndex].Cells[1].Text))
});
}
}
}
它实际上可以工作,但是页面给出了一个错误。我的UserListOperations中的方法有一个try-catch块,但是没有捕获异常,因为代码只是在工作
这是EF生成的GridView代码
<asp:GridView ID="GridView1" runat="server" OnRowCommand="GridView1_RowCommand" AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="UserID" DataSourceID="myEntities">
<Columns>
<asp:CommandField ShowDeleteButton="True" ShowEditButton="True" />
<asp:BoundField DataField="UserID" HeaderText="UserID" ReadOnly="True" SortExpression="UserID" />
<asp:BoundField DataField="UserName" HeaderText="UserName" SortExpression="UserName" />
<asp:BoundField DataField="UserPW" HeaderText="UserPW" SortExpression="UserPW" />
<asp:BoundField DataField="UserType" HeaderText="UserType" SortExpression="UserType" />
</Columns>
</asp:GridView>
这就是错误所在
受意外事件影响的存储更新、插入或删除语句
行数(0)。实体可能已被修改或删除,因为
实体已加载。刷新ObjectStateManager条目
如果我从文本框中获取值并以这种方式发送值,则不会出现错误,因此我猜测这与自动生成的网格有关。如果您选中此链接:您可以获得有关您的问题的更多信息,我想谢谢您的回复。我确实检查了那个链接,但没有/找不到我问题的答案。在我的情况下,删除操作仍然有效,我仍然得到这个错误,这就是我试图理解为什么会发生这种情况的原因。如果您检查此链接:您可以了解有关您的问题的更多信息,我想谢谢您的回复。我确实检查了那个链接,但没有/找不到我问题的答案。在我的例子中,删除操作是有效的,我仍然会遇到这个错误,这就是我试图理解为什么会发生这种情况的原因。