2011-02-14 11 views
2

我使用實體框架ASP.NET如何最好地在一個GridView添加刪除確認與EntityDataSource

一個.NET4的Web應用程序在我的網頁我有綁定到實體數據源的GridView控件。在GridView的定義,我有

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

和EntityDataSource定義

<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> 

一切正常,但是我現在希望把刪除的確認到位誤按的情況。

我已經嘗試將代碼放在GridView的行命令上,它將註冊一個JavaScript警告窗口,但是看起來此時EntityDataSource已經執行了它的刪除操作。

沒有OnClientClick爲gridview命令字段放置一個小的JavaScript片段。

有沒有人進行過安置並隨後解決了這個問題?有一個鏈接按鈕和處理自己刪除實體數據源更容易嗎?

回答

8

使用TemplateField,然後在CommandName="Delete"中插入一個Button。然後你可以使用OnClientClick屬性來調用你的javascript確認。

類似以下(可使用按鈕,ImageButton的,或LinkBut​​ton的):

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

當然,你不會想顯示了CommandField中的刪除按鈕。

+0

完美的,正是我所期待的。 – Dean 2011-02-14 15:48:16