大家好,这是我的代码,我试图修复它并用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;我很沮丧
抱歉英语不好,谢谢
答案 0 :(得分:2)
请在gridview属性中添加DataKeyNames。 的DataKeyNames =&#34;标识&#34;
参考这篇文章:http://www.vkinfotek.com/gridview/gridview-commandfield.html
这可能会对你有所帮助。
答案 1 :(得分:0)
如果是删除,则按ID删除,并且GridView控件在最初呈现行时按ID标识该行。所以你需要参考@original_Id。
最好在GridView的DataKeyNames属性中输入值。