C# 在数据库中更新之前,如何修改gridview元素的值?
我有一个gridview,但我想在数据库中更新之前更新单元格值,但它不起作用 在C# 在数据库中更新之前,如何修改gridview元素的值?,c#,sql,C#,Sql,我有一个gridview,但我想在数据库中更新之前更新单元格值,但它不起作用 在.aspx文件中: <asp:GridView ID="GV_CT" runat="server" AutoGenerateColumns="False" DataSourceID="DS_CT" EnableViewState="False" Width="100%" D
.aspx
文件中:
<asp:GridView ID="GV_CT" runat="server" AutoGenerateColumns="False"
DataSourceID="DS_CT" EnableViewState="False" Width="100%"
DataKeyNames="IdCT" ShowHeader="true" OnRowUpdating="GV_CT_RowUpdating">
<Columns>
<asp:BoundField DataField="qty" HeaderText="Quantity"/>
<asp:BoundField DataField="price" HeaderText="Price" DataFormatString="{0:c}"/>
<asp:CommandField ShowEditButton="true" ItemStyle-Width="75" ControlStyle-Width="30" ItemStyle-HorizontalAlign="Center" ShowCancelButton="true" EditText='<i class="fas fa-pencil"></i>' UpdateText='<i class="fas fa-check"></i>' CancelText='<i class="fas fa-times"></i>'/>
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="DS_CT" runat="server" ConnectionString="connectionstring" SelectCommand="SelectCommand" SelectCommandType="StoredProcedure" UpdateCommand="UpdateCommand" UpdateCommandType="StoredProcedure" >
<SelectParameters>
<asp:Parameter Direction="ReturnValue" Name="RETURN_VALUE" Type="Int32" />
<asp:QueryStringParameter Name="idcustomer" QueryStringField="idcustomer" Type="String" />
</SelectParameters>
<UpdateParameters>
<asp:Parameter Direction="ReturnValue" Name="RETURN_VALUE" Type="Int32" />
<asp:Parameter Name="IdCT" Type="Int32" />
<asp:Parameter Name="qty" Type="Int32" />
<asp:Parameter Name="price" Type="String" />
</UpdateParameters>
</asp:SqlDataSource>
protected void GV_CT_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
if (e.OldValues["price"] != null)
{
// I try this
DS_Ct.UpdateParameters.Add("price", "50");
// I also try this
e.OldValues["price"] = "50" ;
}
}
我尝试在插入数据库之前使用
onrowupdateing
更新行,但它不会更改值。有人知道怎么做吗?我最后不得不在sql中做