2009-10-16 112 views
0

我做了一个快速的网格视图,将其绑定到数据源,并将其放入select语句中。ASP.NET gridview删除

然后我走进了数据源,并删除选项卡,然后在把一些删除代码,与这里blahUID = @blahUID

我查了启用删除复选框,它增加了一个文本链接删除每结束gridview的一行。

但是,当我按下它,它错误,因为@blahUID没有定义 - 我怎么定义它?

<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
    ConnectionString="...snipped..." 


SelectCommand="SELECT [CategoryUID], [WordUID], [CategoryName], [Colour] FROM [Category] WHERE ([WordUID] = @WordUID);" 
DeleteCommand="delete from [Category] where CategoryUID = @CategoryUID"> 
<SelectParameters> 
    <asp:ControlParameter ControlID="lstWords" Name="WordUID" 
     PropertyName="SelectedValue" /> 
</SelectParameters> 
<DeleteParameters> 
    <asp:Parameter Name="CategoryUID" /> 
</DeleteParameters> 

回答

2

通过把的DataKeyNames = “CategoryUID” 在GridView参数修正。

+1

GridView的世界中很常见的问题。你必须确保你的DataKeyNames被指定。它也适用于多个方便的键。 – Kezzer 2009-10-16 12:50:06