Удалить в репитере - PullRequest
       22

Удалить в репитере

0 голосов
/ 09 ноября 2009

У меня есть веб-приложение для загрузки и воспроизведения видео. Администратор может загружать, а пользователи могут просматривать загруженные файлы. Я автоматически заполняю ссылки из базы данных на репитер. Моя цель - администратор может удалить загруженный файл. Файл также удалить из базы данных. Я использую SQl EXPERESS и VS2005. Как я могу это сделать?

Ответы [ 2 ]

7 голосов
/ 09 ноября 2009

Поместите кнопку или любой другой элемент управления, который вам нравится, и установите для этой кнопки свойство имени команды, равное, например, «удалить», укажите любой идентификатор в свойстве аргумента команды, чтобы узнать, какую строку вы будете удалять, и в повторителе ItemCommand. проверьте событие для этого имени команды, затем выполните функцию удаления.

Пример:

<asp:Repeater ID="Repeater1" runat="server" OnItemCommand="Repeater1_ItemCommand">
    <ItemTemplate>
        <asp:LinkButton ID="LinkButton1" CommandName="Delete" OnClientClick="javascript:if(!confirm('Delete this information? this will delete permanently'))return false;" CommandArgument='<%#Eval("EntityID") %>' runat="server">Delete</asp:LinkButton>
    </ItemTemplate>
</asp:Repeater>

protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
{
    if (e.CommandName == "Delete" && e.CommandArgument.ToString() != "")
    {
        // DoDelete then rebind
    }
}

Удалить код будет примерно так:

Dim connectionString As String = ConfigurationManager.ConnectionStrings("UploadConnectionString").ConnectionString 

Dim adapter As New SqlDataAdapter("DELETE FROM FileM where id=" & e.CommandArgument.ToString(), connectionString) 
0 голосов
/ 04 февраля 2014

если вы хотите использовать пользовательское подтверждение (например, диалог jquery, bootboxjs и т. Д.), То вам нужно сгенерировать «строку обратной передачи» кнопки или как-то ее получить. asp.net дает такие как имя обратной передачи после рендеринга страницы; __ doPostBack ( 'ctl00 $ ContentPlaceHolder1 $ btnDeleteSelected', '') . после этого я написал функцию js, которая генерирует обратную передачу кнопки str;

function PostBackBtnMake(id) { // id : ContentPlaceHolder1_btnDeleteSelected
  var result;
  var temp = id.split('_');
  result = 'ctl00$' + temp[0] + '$' + temp[1];
  return result;
}

тогда я смогу использовать в окне подтверждения (в этом случае я использовал bootboxjs);

function PostBackBtn(e) {
  var _result = false;
  bootbox.confirm("Are you sure?", function (result) {
      if (result) {
          __doPostBack(PostBackBtnMake(e.id), '')
      }
  });

  return _result;
}

это сработало для меня, надеюсь, оно вам тоже поможет.

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