Как я могу использовать диалоговое окно подтверждения Jquery UI для кнопки gridview link? - PullRequest
1 голос
/ 25 января 2012

У меня есть кнопка ссылки в Gridview для удаления элементов.Я хочу использовать (подтверждение диалога jquery ui) с этой кнопкой.

      <asp:LinkButton ID="lnkDelete" Font-Size="12px" runat="server" CausesValidation="False" CommandName="Delete" Text="Sil"></asp:LinkButton>

Я мог бы использовать подтверждение диалога jquery ui, как это: (asp.button)

      function onayMesaj(msg) {
                    $("#divMesaj").html(msg);
              $("#divMesaj").dialog({
                  modal: true,
                  bgiframe: true,
                  buttons: {
                      "Yes": function () {
                         <%=this.Page.ClientScript.GetPostBackEventReference(new PostBackOptions(this.btnGuncelleEkle))%>;
                      },
                       "No": function () {
                          $(this).dialog("close");
                      }
                  }
              });
              $("#divMesaj").parent().appendTo($("form:first"));
          }

I'mзастрял.Пожалуйста помоги.Спасибо.

1 Ответ

3 голосов
/ 25 января 2012

Мне удалось реализовать это решение, следуя этому сообщению: http://www.junnark.com/Blog/Detail/13

По сути, ваша кнопка удаления должна выглядеть примерно так:

<asp:ImageButton ID="IBtnDelete" runat="server" CommandArgument='<%#Eval("idcustomer")%>' 
    OnClientClick="javascript:return deleteItem(this.name, this.alt);"
    ToolTip="Click to delete" ImageUrl="~/Images/imagesActions/delete_action.png"
    AlternateText='<%#Eval("name")%>' OnCommand="deleteCommand" />

Ваша функция JavaScript должна быть чем-токак это:

function deleteItem(uniqueID, customerID) {
    var dialogTitle = 'Permanently delete ' + customerID + '?';   
    $('#' + '<%=linkDelete.ClientId %>').html('<p><span class="ui-icon ui-icon-alert" style="float:left; margin:0 7px 20px 0;"></span>Please click delete to confirm deletion.</p>');
    $('#' + '<%=linkDelete.ClientId %>').dialog({
        title: dialogTitle,
        buttons: {
            "Delete": function () { __doPostBack(uniqueID, ''); $(this).dialog("close"); },
            "Cancel": function () { $(this).dialog("close"); }
        }
    });

    $('#' + '<%=linkDelete.ClientId %>').dialog('open');
    return false;
}

И в вашем коде у вас должна быть команда для удаления выбранного элемента.Примерно так:

protected void deleteCommand(object sender, CommandEventArgs e)
    {
        customerDA cus = new customerDA();
        cus.deleteCustomer(Convert.ToInt32(e.CommandArgument.ToString()));
    }

Вот и все.Надеюсь, это поможет!

...