GridView中的ObjectDataSource和DeleteMethod
我试图使用ObjectDataSource为我的GridView指定DeleteMethod,但无论我尝试什么,似乎都不会调用DeleteMethod 我的代码是:GridView中的ObjectDataSource和DeleteMethod,gridview,objectdatasource,Gridview,Objectdatasource,我试图使用ObjectDataSource为我的GridView指定DeleteMethod,但无论我尝试什么,似乎都不会调用DeleteMethod 我的代码是: <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="dsGridView" AutoGenerateDeleteButton="True"> <C
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataSourceID="dsGridView" AutoGenerateDeleteButton="True">
<Columns>
<asp:BoundField DataField="CustomerID" HeaderText="CustomerID"
SortExpression="CustomerID" />
<asp:BoundField DataField="FirstName" HeaderText="FirstName"
SortExpression="FirstNenter code hereame" />
<asp:BoundField DataField="LastName" HeaderText="LastName"
SortExpression="LastName" />
<asp:BoundField DataField="Country" HeaderText="Country"
SortExpression="Country" />
</Columns>
</asp:GridView>
<asp:ObjectDataSource ID="dsGridView" runat="server"
SelectMethod="GetCustomerByCountry" DeleteMethod="DeleteRow" TypeName="WebApplication1.App_Code.DAL">
<SelectParameters>
<asp:ControlParameter
ControlID="DropDownList1"
DefaultValue="NULL"
Name="Country"
PropertyName="SelectedValue"
Type="String" />
</SelectParameters>
<DeleteParameters>
<asp:Parameter
Name="CustomerID"
Type="Int32" />
</DeleteParameters>
</asp:ObjectDataSource>
public static void DeleteRow(int CustomerID)
{
Database1Entities de = new Database1Entities();
var LQ = (from s in de.Customers
where s.CustomerID == CustomerID
select s).FirstOrDefault();
if (LQ != null)
{
de.Customers.DeleteObject(LQ);
de.SaveChanges();
}
}
公共静态void DeleteRow(int CustomerID)
{
Database1Entities de=新的Database1Entities();
var LQ=(来自客户数据中的s)
其中s.CustomerID==CustomerID
选择s).FirstOrDefault();
如果(LQ!=null)
{
de.Customers.DeleteObject(LQ);
de.SaveChanges();
}
}
我有一个名为“Database1Entities”的数据库实体模型,它包含4个简单的行。
我遗漏了什么?您必须将
数据键名添加到Gridview中。View知道您的数据绑定id是什么
<asp:GridView ID="GridView1" runat="server"
AutoGenerateColumns="False"
DataSourceID="dsGridView"
AutoGenerateDeleteButton="True"
DataKeyNames="CustomerID">
您必须将DataKeyNames
添加到Gridview,因为它知道数据绑定的id
<asp:GridView ID="GridView1" runat="server"
AutoGenerateColumns="False"
DataSourceID="dsGridView"
AutoGenerateDeleteButton="True"
DataKeyNames="CustomerID">