我正在尝试使用RowUpdating事件更改gridview(.net 3.5)上的列值。 事件被触发,我设置了一个新值 - 但表没有更新。
<asp:GridView ID="GridViewHotels" runat="server" AllowSorting="True"
AutoGenerateColumns="False" DataSourceID="SqlDataSourceHotels"
OnRowUpdating="GridViewHotels_RowUpdating">
...
<asp:BoundField DataField="lat" HeaderText="lat" SortExpression="lat" />
...
<asp:SqlDataSource ID="SqlDataSourceHotels" runat="server"
UpdateCommand="UPDATE [hotels] SET ... [lat] = @lat .... WHERE [id] = @id">
这是事件代码(称为):
protected void GridViewHotels_RowUpdating(Object sender,
GridViewUpdateEventArgs e)
{
e.NewValues["lat"] = "xxx";
}
然而,“lat”字段未更新
答案 0 :(得分:0)
您的网格数据源绑定到了什么?如果它是您保存在ViewState等中的数据集,则必须调用AcceptChanges并重新绑定数据。如果基础数据在数据库中,只需从数据源重新绑定网格(在更新之后),即从sql server /任何数据源刷新它。
答案 1 :(得分:0)
我相信你需要一个SQLDataSource中的连接字符串。