无法在ASP.Net中使用GridView删除行

时间:2014-08-05 12:45:22

标签: c# asp.net gridview webforms

大家好,这是我的代码,我试图修复它并用Google搜索,但我无法找到答案。

这是我的SqlDataSource:

<asp:SqlDataSource
      id="SqlDataSource1"
      runat="server"
      ConnectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\xxx.mdf;Integrated Security=True;MultipleActiveResultSets=True;Application Name=EntityFramework"
      SelectCommand="SELECT * FROM JarkomTable"
      UpdateCommand="UPDATE JarkomTable SET [Nama]=@Nama, [Kode]=@Kode WHERE [Id]=@Id"
      DeleteCommand="DELETE FROM JarkomTable WHERE [Id]=@Id">
    <UpdateParameters>
        <asp:Parameter Name="Id" />
    </UpdateParameters>
    <DeleteParameters>
        <asp:Parameter Name="Id" />
    </DeleteParameters>
</asp:SqlDataSource>

这是我的GridView:

<asp:GridView
    id="GridView1"
    runat="server"
    DataSourceID="SqlDataSource1" CellPadding="4" ForeColor="#333333" GridLines="None" AutoGenerateColumns="False">
    <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
    <Columns>           
        <asp:BoundField HeaderText="Id" DataField="Id" />
        <asp:BoundField HeaderText="Nama" DataField="Nama" />
        <asp:BoundField HeaderText="Kode" DataField="Kode" />
        <asp:CommandField ShowDeleteButton="True" ButtonType="Button" />
        <asp:CommandField ShowEditButton="True" ButtonType="Button" />
    </Columns>

我可以使用更新命令但不知何故,当我点击删除按钮时,它总是出现&#34;必须声明标量变量&#34; @ Id&#34;&#34;错误。请帮助我:&#34;我很沮丧

抱歉英语不好,谢谢

2 个答案:

答案 0 :(得分:2)

请在gridview属性中添加DataKeyNames。  的DataKeyNames =&#34;标识&#34;

参考这篇文章:http://www.vkinfotek.com/gridview/gridview-commandfield.html

                                                                                                                                    

这可能会对你有所帮助。

答案 1 :(得分:0)

如果是删除,则按ID删除,并且GridView控件在最初呈现行时按ID标识该行。所以你需要参考@original_Id。

最好在GridView的DataKeyNames属性中输入值。