私は gridview と sqldatasource を使用しています。
編集イベントから行を閉じずに更新をキャンセルする方法が見つかりません。更新イベントでは e.cancel が利用できないためです。
更新ではいくつかのイベントを取得できないため、UPDATING ではなく UPDATED で行う必要があります。
ありがとう
e.KeepInEditMode = true;
更新されたレコードを編集モードで保持するために使用できます。updated
ただし、それまでレコードはすでに更新されているため、で更新をキャンセルすることはできません。カスタムコーディングを使用して、それを行う別の方法を見つける必要があります。
ASPX
<asp:GridView ID="GridView1" runat="server"
onrowdatabound="GridView1_RowDataBound"
onrowupdated="GridView1_RowUpdated">
</asp:GridView>
CS
protected void GridView1_RowUpdated(object sender, GridViewUpdatedEventArgs e)
{
e.KeepInEditMode = true;
}
sqldatasourceの場合
protected void SqlDataSource1_Updated(object sender, SqlDataSourceStatusEventArgs e)
{
e.Command.Cancel();
}