- Visual Studion 2012 Update 3 with mySQL .NET Connector 6.6.5.0
- 我无法让 GridView 回发任何更新的数据
我的网格视图配置为:
<asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True" DataSourceID="SqlDataSource1" AutoGenerateColumns="False">
<Columns>
<asp:CommandField ShowEditButton="True" ShowSelectButton="True" />
<asp:BoundField DataField="Name" />
<asp:BoundField DataField="Unit" />
<asp:BoundField DataField="Price" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:mysqlConn %>" ProviderName="<%$ ConnectionStrings:mysqlConn.ProviderName %>"
SelectCommand="SELECT ID, Name, Unit, Price FROM product"
UpdateCommand="UPDATE product SET Name = ?, Unit = ?, Price = ? WHERE ID = ?">
<UpdateParameters>
<asp:Parameter Name="Name" Type="String" Direction="Input" />
<asp:Parameter Name="Unit" Type="String" Direction="Input" />
<asp:Parameter Name="Price" Type="Single" Direction="Input" />
<asp:Parameter Name="ID" Type="Int64" Direction="Input" />
</UpdateParameters>
</asp:SqlDataSource>
网格显示产品列表正常。但是,当我在网格视图中选择"编辑"并更改值,然后单击"更新"时,生成的更改不会回发到数据库。我的 Update 语句或参数做错了什么?
所有指针都表示赞赏。
请使用 GridView1.DataBind();然后 GridView 将与新数据绑定。请参考此链接http://msdn.microsoft.com/en-us/library/fkx0cy6d.aspx
我失踪了:
DataKeyNames="ID"
作为阻止更新发生的 GridView 定义的一部分。