ASP.NET, как лучше всего добавить подтверждение удаления в виде сетки с EntityDataSource - PullRequest
2 голосов
/ 14 февраля 2011

У меня есть веб-приложение .NET4, использующее Entity Framework

На одной из моих страниц у меня есть сетка, связанная с источником данных объекта.В определении 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 уже выполнил свое удаление.

НетOnClientНажмите поле команды gridview, чтобы разместить небольшой фрагмент кода JavaScript.

Кто-нибудь поддерживал и впоследствии решал эту проблему?Легче ли иметь кнопку ссылки и самостоятельно обрабатывать удаление источника данных Entity?

1 Ответ

8 голосов
/ 14 февраля 2011

Используйте TemplateField, а затем поместите в него кнопку с CommandName="Delete". Затем вы можете использовать свойство OnClientClick для вызова подтверждения JavaScript.

Что-то вроде следующего (можно использовать Button, ImageButton или 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>

Конечно, вы не хотите показывать кнопку удаления в CommandField.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...