开发者

ASP.NET how best to add a delete confirmation on a gridview with EntityDataSource

I have a .NET4 web application using the Entity Framework

In one of my pages I have a gridview bound to an entity data source. Within the Gridview definition I have

<asp:CommandField ShowDeleteButton="True" ShowEditButton="True"  /> 

and the EntityDataSource is defined

<asp:EntityDataSource ID="eds_timesheets" runat="server" ConnectionString="name=TIME_ENTRY_DB"
                DefaultContainerName="TIME_ENTRY_DB" EnableDelete="True" EnableFlattening="False"
                EnableUpdate="True" EntitySetName="TIMESHEETs" Include="USER, ACTIVITY, PROJECT"
                EntityTypeFilter="TIMESHEET">
            </asp:EntityDataSource>

Everything works as expected, however I now want to put a confirmation of delete in place in case of accidental pressing.

I have tried placing code on the row command of the gridview wwhich would register a javascript alert window however it appears that at this point the EntityDataSource has already carried out its delete.

There is no OnClientClick for a gridview command field to place a small javascript snippet.

Has anyone开发者_如何学C encoutnered and subsequently solved this issue? Is it easier to have a link button and handle the delete of the Entity data source myself?


Use a TemplateField, and then put a Button in it with the CommandName="Delete". Then you can use the OnClientClick property to call your javascript confirmation.

Something like the following (can use Button, ImageButton, or LinkButton):

<asp:TemplateField>
  <ItemTemplate>
    <asp:Button id="DeleteButton" runat="server" text="Delete"
      CommandName="Delete" OnClientClick="return confirm('Are you sure?');" ></asp:Button>
  </ItemTemplate>
</asp:TemplateField>

Of course, you would not want to show the delete button in the CommandField.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜