GridViewコントロールがあり、編集を有効にしました。
私の編集ボタンと更新ボタンは、次のように両方ともLinkButtonです。
<asp:LinkButton ID="buttonEdit" runat="server" Text="Edit" CausesValidation="false"
CommandName="Edit" />
<asp:LinkButton ID="buttonUpdate" runat="server" CausesValidation="True"
CommandName="Update" Text="Update" ValidationGroup="Edit" />
ユーザーが編集ボタンをクリックすると、列の1つに、レコードを編集できるテキストボックスが表示されます。
<EditItemTemplate>
<asp:TextBox ID="textBoxEdit" runat="server" Text='<%#Eval("Name") %>' />
<asp:Label ID="labelEditWarning" CssClass="error" runat="server" Text="Name already exists" Visible="false" />
</EditItemTemplate>
ユーザーが[更新]リンクボタンをクリックすると、グリッドのRowCommandイベントが発生します。ここで、データベース内の既存のレコードに対して検証を実行したいと思います。検証が失敗した場合、グリッドのRowUpdatingイベントの発生を停止する方法はありますが、これを行う方法はないようです!?
protected void gridName_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName.Equals("Edit"))
{
//Perform validation & cancel update if the validation fails.
}
}
protected void gridName_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
//Update my record. But I don't want this to fire if my validation fails in
//the row command event.
}
誰か助けてもらえますか?
ASP.Net4.0を使用しています
前もって感謝します。