如何使用 JavaScript 按钮删除 gridview 上的一行并保留在同一页面上

2024-01-23

我正在通过 gridview 显示一组记录,并且edit and delete旁边的按钮。我在记录删除部分遇到问题。我想要的行为如下:用户单击按钮,调用 JavaScript 验证函数,单击按钮后记录将被删除,但用户与其余记录仍保留在同一页面上。我怎样才能在保持同一页面的同时做到这一点?

<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
    <div>

        &nbsp;&nbsp;&nbsp;
        <br />
&nbsp;

        <asp:HyperLink NavigateUrl="~/Entry.aspx" runat="server" text="Add New Record" />
    </div>

    <div>
        <asp:GridView runat="server" ID="grdView" AutoGenerateColumns="false" Height="100%"
            Width="100%" onselectedindexchanged="grdView_SelectedIndexChanged" >
            <Columns>

                <asp:BoundField DataField="Prod_Id" HeaderText="product id " HeaderStyle-BackColor="Azure"  />
                 <asp:BoundField DataField="Prod_Name" HeaderText="Product Name" HeaderStyle-BackColor="Azure" />
                <asp:BoundField DataField="Unit_Price" HeaderText="Unit Price " HeaderStyle-BackColor="Azure" />
                <asp:BoundField DataField="In_Hand" HeaderText="In Hand" HeaderStyle-BackColor="Azure" />
                <asp:BoundField DataField="Fixed" HeaderText="Fixed" HeaderStyle-BackColor="Azure" />
                <asp:BoundField DataField="Status" HeaderText="Status" HeaderStyle-BackColor="Azure" />
                 <asp:HyperLinkField DataNavigateUrlFields="Prod_Id" DataNavigateUrlFormatString="edit.aspx?Prod_Id={0}" Text="Edit" />
                <asp:ButtonField   ButtonType="Link"  Text="Delete" />        

            </Columns>
        </asp:GridView>
    </div>
</asp:Content>

代码隐藏部分

public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            binddata();
        }

        SqlConnection con;
        SqlDataAdapter da;
        DataSet ds;

        void binddata()
        {
            con = new SqlConnection("Data Source=.\\sqlexpress; initial catalog=PracticeDb; user id=sa; pwd=manager;");
            con.Open();
            da = new SqlDataAdapter("Select * from Products", con);
            DataSet ds = new DataSet();
            da.Fill(ds);
            con.Close();
            grdView.DataSource = ds;
            grdView.DataBind();
        }

        protected void grdView_SelectedIndexChanged(object sender, EventArgs e)
        {


            var P_id = ds.Tables[0].Rows[0]["Prod_Id"].ToString();

            SqlConnection con = new SqlConnection();
            con.ConnectionString = ("Data Source=.\\sqlexpress; initial catalog=PracticeDb; user id=sa; pwd=manager;");
            con.Open();
            string qry = "DELETE FROM PRODUCTS WHERE Prod_Id='" +P_id+ "'";
            SqlCommand cmd = new SqlCommand(qry, con);
            cmd.ExecuteNonQuery();
            con.Close();


        }



    }
}

Thanks


您可以使用行数据绑定事件来完成此任务。

  <asp:LinkButton ID="lnkBtnDel" runat="server" CommandName="DeleteRow" OnClientClick="return confirm('Are you sure you want to Delete this Record?');""CommandArgument='<%#Eval("Prod_Id") %>'>Delete</asp:LinkButton>

在 rowdatabound 事件中你可以有

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
 if (e.CommandName == "DeleteRow")
    {
        //incase you need the row index 
        int rowIndex = ((GridViewRow)((LinkButton)e.CommandSource).NamingContainer).RowIndex;
        int Prod_Id= Convert.ToInt32(e.CommandArgument);
        //followed by your code 
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 JavaScript 按钮删除 gridview 上的一行并保留在同一页面上 的相关文章

  • 为什么在调用 Asp.Net ListBox 自动回发方法时会调用不相关的(自动回发)方法?

    我确信这很简单 但它让我发疯 我的页面上有一个列表框来显示艺术家 当索引更改时它会调用一个方法 还有一个按钮 单击时会从另一个页面中的该列表中加载艺术家
  • 在运行时更改实体框架数据库架构

    在大多数 ASP NET 应用程序中 您可以通过在运行时修改连接字符串来更改数据库存储 即 我可以通过简单地更改连接字符串中 数据库 字段的值来从使用测试数据库更改为生产数据库 我正在尝试使用实体框架更改架构 但不一定是数据库本身 但没有成
  • System.Linq.Dynamic 不支持 OrderByDescending("someColumn")?

    好的 在我们的项目中 我使用 System Linq Dynamic 库 但我刚刚注意到我无法执行以下操作 myDataSource OrderByDescending someColumnName 因为我收到以下错误 重载解析失败 因为无
  • ASP.NET DropDownList OnSelectedIndexChanged 事件未触发

    我试图同时使用一些 AJAX 和 ASP Net 来运行函数而无需刷新整个页面 但我在执行此操作时偶然发现了一个问题 这是我的代码
  • Err_Response_Headers_Multiple_Content_Disposition

    我需要导出 2csv单击一个按钮即可打开文件 下面是我生成2的代码csv files using System Data using System Data SqlClient using System Text using System
  • GridView必须添加到表单标签中才能渲染

    TextWriter tr new StringWriter HtmlTextWriter writer new HtmlTextWriter tr HtmlForm form new HtmlForm form Controls Add
  • ASP.NET MVC - HybridViewResult (ViewResult /PartialViewResult)

    是否可以构建一个依赖于 Ajax 请求或 Http 请求返回的混合 ViewResultPartialViewResult or ViewResult IsAjaxRequest gt 返回 PartialViewResult IsAjax
  • 大表的最佳主键格式

    我正在开发一个 ASP NET 应用程序 它有一些可能很大的数据表 我想知道定义主键的最佳方法是什么 我知道以前已经有人问过这个问题 但由于这是针对特定情况的 所以我认为这个问题是有效的 我在 SQL Server 2008 数据库上使用实
  • 如何防止用户生成的 Sql 查询上的 Sql 注入

    我有一个项目 私有的 ASP net 网站 受 https 密码保护 其中要求之一是用户能够输入直接查询数据库的 Sql 查询 我需要能够允许这些查询 同时防止它们对数据库本身造成损坏 以及访问或更新它们不应该访问 更新的数据 我制定了以下
  • ASP.NET GridView 默认排序顺序

    我有一个绑定到 sql 数据源的简单 gridview 控件 现在我启用了排序 但是当我单击要排序的列时 它首先按升序对其进行排序 当我再次单击同一列时 它会按降序排序 我想改变这一点 我希望它在第一次单击时按降序排序 在第二次单击时按升序
  • ASP.NET 显示 SVN 修订号

    我在 Stack Overflow 页脚中看到显示了 SVN 修订号 这是自动化的吗 如果是的话 如何在 ASP NET 中实现它 其他语言的解决方案也是可以接受的 确保该文件有 svn keywords Rev Id 然后把 Rev 在那
  • 我们可以将哪些类型的对象放置在视图状态中?

    我想知道为什么我们必须设置可序列化属性才能将对象保存在视图状态 另外 我们可以在视图状态中存储哪种类型的对象 ViewState使用二进制序列化进行序列化对象状态格式化程序 http msdn microsoft com en us lib
  • PetaPoco 数据库类应该在每个请求时创建一次还是在每次需要时创建?

    对于 PetaPoco 我应该如何处理创建Database班级 我的应用程序可能会利用各种存储库 不完全是 DDD 存储库 更像是网关存储库 来封装查询 由于我将有多个需要访问同一数据库连接的存储库 因此我正在考虑创建一个基类 在构造函数中
  • UserControl 中的 Web 控件为空?

    我构建了一个小型用户控件 它本质上是一个 DropDownList 其中包含一些基于目标属性设置的预设值 这是代码 public partial class Selector System Web UI UserControl public
  • 如何通过ConfigurationManager找到配置文件位置?

    如何通过ConfigurationManager找到配置文件位置 我在代码中有 ConfigurationManager 类 并且正在调试它 我想知道它指向哪个配置文件 web config 或 app config 等 Configura
  • 在 ASP.NET MVC 2 中使用 name="array_name[]" 作为表单元素发布数组

    再会 在 PHP 中 可以使用方括号将 name 属性分配给输入元素 如下所示 name my value PHP 会在服务器端自动将其转换为数组 这在 ASP NET MVC 中可能吗 如果没有 是否有其他方法可以在 ASP NET MV
  • UpdatePanel 破坏 JQuery 脚本

    这是我想做的事情的简化版本 基本上我有一个数据列表 里面有很多东西 当你将鼠标悬停在数据列表中的项目上时 我希望 jquery 隐藏 显示东西 问题是 在我进行数据绑定后 如果 gridview repeater datalist 位于更新
  • 使用 .net 3.5 和 C# 检测 Chrome

    好的 我正在使用此代码来检测浏览器 使用 chrome 时 它 给我浏览器 苹果MAC Safari 我需要它说 chrome Ater 环顾四周 我发现了这个 Google Chrome Safari 相同的浏览器名称和版本 https
  • 作出选择之后、提交上传之前的 asp.net FileUpload 事件

    我想显示通过 FileUpload 控件的浏览按钮选择的文件的大小 理想情况下 该值在用户选择文件后但在单击 上传文件 按钮之前立即显示 我有一个网络表格 按钮看起来像这样
  • 从复选框列表中选择循环生成的复选框中的一个复选框

    抱歉我的英语不好 在我的 ASP NET 网站上 我从 SQL 表导入软件列表 看起来像这样 但实际上要长得多 Microsoft Application Error Reporting br br Microsoft Applicatio

随机推荐