Reputation: 8477
I have a FormView with View and Edit modes, in an UpdatePanel:
<asp:UpdatePanel runat="server">
<ContentTemplate>
<asp:FormView runat="Server" DefaultMode="ReadOnly" DataSourceID="_myDataSource" >
<ItemTemplate>
<!-- View controls omitted -->
<asp:Button runat="server" CommandName="Edit" Text="Edit" />
</ItemTemplate>
<EditItemTemplate>
<!-- Edit controls omitted -->
<asp:Button runat="server" CommandName="Update" Text="Save" />
<asp:Button runat="server" CommandName="Cancel" Text="Cancel" CausesValidation="false" />
</EditItemTemplate>
</asp:FormView>
</ContentTemplate>
</asp:UpdatePanel>
<!-- Data source (may attributes omitted) -->
<asp:ObjectDataSource ID="_myDataSource" runat="server" />
The Edit
and Update
buttons / commands work fine, but the Cancel
button does nothing.
Any ideas?
Upvotes: 1
Views: 2837
Reputation: 10565
The page may not seems to flicker but on clicking Cancel button 2 events are raised by FormView and post back indeed happens. You may refer MSDN. ( Table under Remarks section)
What a 'Cancel' button does is:
Cancels an edit or insert operation and returns the FormView control to the mode specified by the DefaultMode property. Raises the ModeChanged and ModeChanging events.
So you need to handle events for ModeChanged and ModeChanging as shown below:
<asp:formview id="EmployeeFormView"
datasourceid="EmployeeSource" allowpaging="true" datakeynames="EmployeeID"
onmodechanged="EmployeeFormView_ModeChanged"
onmodechanging="EmployeeFormView_ModeChanging"
runat="server">
So, any code that you want to run after ' cancel' button click should utilize these two events as per the requirements.
I had placed debugger in Page_Load, modeChanging() & modechanged(), all of the three events were fired in sequence on clicking 'Cancel' button.
Upvotes: 2