zoukankan      html  css  js  c++  java
  • ListView隐藏某行数据并调用SweetAlert

    WebForm1.aspx

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="sweetalert.WebForm1" %>
    
    <!DOCTYPE html>
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
        <script src="https://unpkg.com/sweetalert/dist/sweetalert.min.js"></script>
        <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
        </script>
        <script>
            function sweetAlertConfirm(btnDelete, name) {
                if (btnDelete.dataset.confirmed) {
                    btnDelete.dataset.confirmed = false;
                    return true;
                } else {
                    event.preventDefault();
                    swal({
                        title: "Are you sure you want to delete " + name + " ?",
                        text: "Once deleted, you will not be able to recover it!",
                        icon: "warning",
                        buttons: true,
                        dangerMode: true,
                    })
                        .then((willDelete) => {
                            if (willDelete) {
                                btnDelete.dataset.confirmed = true;
                                btnDelete.click();
                                //swal("Deleted", "The data is deleted!", "success");
                            } else {
                                //swal("The data is safe!");
                            }
                        });
                }
            }
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
            <div>
                <asp:ListView ID="ListView1" runat="server" OnItemCommand="ListView1_ItemCommand" OnItemDeleting="ListView1_ItemDeleting">
                    <LayoutTemplate>
                        <table class="table table-bordered table-striped">
                            <tr class="bg-danger text-white">
                                <th style=" 50px">ID</th>
                                <th style=" 50px">Name</th>
                                <th style=" 70px">Delete</th>
                            </tr>
                            <tbody>
                                <asp:PlaceHolder ID="itemPlaceHolder" runat="server" />
                            </tbody>
                        </table>
                    </LayoutTemplate>
                    <ItemTemplate>
                        <tr>
                            <td style="text-align: center"><%# Eval("Id")%></td>
                            <td style="text-align: center">
                                <asp:Label runat="server" ID="lb" Text='<%#Eval("Name") %>'></asp:Label>
                            </td>
                            <td style="text-align: center">
                                <asp:LinkButton runat="server" ID="btnDelete"
                                    CommandName="Delete"
                                    CommandArgument='<%# DataBinder.Eval(Container.DataItem, "Id") %>'
                                    <%--传值到js--%>
                                    OnClientClick='<%# Eval("Name","return sweetAlertConfirm(this, "{0}");") %>'>
                                            Delete
                                </asp:LinkButton>
                            </td>
                        </tr>
                    </ItemTemplate>
                </asp:ListView>
            </div>
        </form>
    </body>
    </html>

    WebForm1.aspx.cs

        public partial class WebForm1 : System.Web.UI.Page
        {
            List<Student> allMyDataStuffs;
    
            protected void Page_Load(object sender, EventArgs e)
            {
                if (!IsPostBack)
                {
                    allMyDataStuffs = new List<Student>() {
                        new Student{ Id="001", Name ="A"},
                        new Student{ Id="002", Name ="B"},
                        new Student{ Id="003", Name ="C"},
                        new Student{ Id="004", Name ="D"},
                        new Student{ Id="005", Name ="E"},
                    };
    
                    ListView1.DataSource = allMyDataStuffs;
                    ListView1.DataBind();
                }
            }
    
            protected void ListView1_ItemCommand(object sender, ListViewCommandEventArgs e)
            {
                if (e.CommandName == "Delete")
                {
                    e.Item.Visible = false;
                }
            }
    
            protected void ListView1_ItemDeleting(object sender, ListViewDeleteEventArgs e)
            {
                // TODO
            }
        }
    
        public class Student
        {
            public String Id { get; set; }
            public String Name { get; set; }
        }

    测试结果:

  • 相关阅读:
    SAP S/4HANA extensibility扩展原理介绍
    SAP CRM系统订单模型的设计与实现
    使用nodejs代码在SAP C4C里创建Individual customer
    SAP Cloud for Customer Account和individual customer的区别
    Let the Balloon Rise map一个数组
    How Many Tables 简单并查集
    Heap Operations 优先队列
    Arpa’s obvious problem and Mehrdad’s terrible solution 思维
    Passing the Message 单调栈两次
    The Suspects 并查集
  • 原文地址:https://www.cnblogs.com/jizhiqiliao/p/13213969.html
Copyright © 2011-2022 走看看