ASP.NET一次性对GridView批量更新多行数据

 更新时间:2022年05月05日 09:36:52   作者:springsnow  
这篇文章介绍了ASP.NET一次性对GridView批量更新多行数据的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

假定有一个Product表,字段有(Id,Name,Quantity,...)我们要一次批量更新Quantity的值

首先在Gridview中,Quantity列以TemplateField显示,其他的列属性设为只读,把显示格式设为TextBox。

<asp:TemplateField HeaderText="Quantity">
    <itemtemplate>
    <asp:TextBox ID="editQuantity" runat="server" CssClass="GridEditingRow"   Width="24px" MaxLength="2" Text='<%#Eval("Quantity")%>' />
    </itemtemplate>
</asp:TemplateField>

在GridView下面添加一个Button控件,定义onclick方法为updateButton_Click

最后updateButton_Click代码为:

protected void updateButton_Click(object sender, EventArgs e)
{
    int rowsCount = grid.Rows.Count;
    GridViewRow gridRow;
    TextBox quantityTextBox;
    string productId;
    int quantity;
    bool success = true;
    // 遍历GridView中的每一行
    for (int i = 0; i < rowsCount; i++)
    {
        // 获行当前行
        gridRow = grid.Rows[i];
        // 通过DATAKEYS来取行没显示出来的ID号
        Id = grid.DataKeys[i].Value.ToString();
        // 
        quantityTextBox = (TextBox)gridRow.FindControl("editQuantity");
        // 转换为整形,如果输入的是非法字符Int32.TryParse返回FALSE
        if (Int32.TryParse(quantityTextBox.Text, out quantity))
        {
            // 调用业务层的方法更新数据
            success = success && BLL.UpdateItem(Id, quantity);
        }
        else
        {
            // 更新失败
            success = false;
        }
        // 显示信息
        statusLabel.Text = success ?
          "<br />更新成功!<br />" :
          "<br />更新失败!<br />";
    }
    // 重新绑定GridVIEW
    PopulateGridView();
}

到此这篇关于ASP.NET对GridView批量更新数据的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • .net使用jwt进行身份认证的流程记录

    .net使用jwt进行身份认证的流程记录

    这篇文章主要给大家介绍了关于.net使用jwt进行身份认证的相关资料,JWT是Auth0提出的通过对JSON进行加密签名来实现授权验证的方案,本文通过示例代码介绍的非常详细,需要的朋友可以参考下
    2021-09-09
  • 浅谈ASP.NET Core中间件实现分布式 Session

    浅谈ASP.NET Core中间件实现分布式 Session

    这篇文章主要介绍了浅谈ASP.NET Core中间件实现分布式 Session,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • 详解在ASP.NET Core中如何编写合格的中间件

    详解在ASP.NET Core中如何编写合格的中间件

    这篇文章主要介绍了详解在ASP.NET Core中如何编写合格的中间件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • asp.net 下载文件时输出文件内容

    asp.net 下载文件时输出文件内容

    asp.net下当下载文件时,读取路径,输出数据。
    2009-05-05
  • ASP.NET Core中使用LazyCache的全过程

    ASP.NET Core中使用LazyCache的全过程

    这篇文章主要给大家介绍了关于ASP.NET Core中使用LazyCache的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • ASP.NET MVC分页问题解决

    ASP.NET MVC分页问题解决

    这篇文章主要为大家详细介绍了ASP.NET MVC分页问题的解决方法,Ajax.Pager分页的使用注意事项,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • 轻量级asp.net ajax解决方案详解

    轻量级asp.net ajax解决方案详解

    这篇文章主要介绍了轻量级asp.net ajax解决方案,结合实例形式较为详细的分析了asp.net ajax的实现技巧与技术细节,需要的朋友可以参考下
    2016-02-02
  • asp.net 动态生成rdlc报表(原创)

    asp.net 动态生成rdlc报表(原创)

    因为公司需求 研究微软的Reportviewer 因为有许多特别要求所以动态调用 比较灵活 我的需求是 根据数据不同的合并表头 (参考了随心所欲的博客文档 再次表示感谢)
    2011-12-12
  • 未将对象引用设置到对象的实例 (System.NullReferenceException)

    未将对象引用设置到对象的实例 (System.NullReferenceException)

    System.NullReferenceException:未将对象引用设置到对象的实例,这是一个新鸟,中鸟,老鸟都避不开的错误
    2012-03-03
  • Win2008 server + IIS7 设置身份模拟(ASP.NET impersonation)

    Win2008 server + IIS7 设置身份模拟(ASP.NET impersonation)

    IIS7 与 IIS 6 相比有了很大的改动,原来在 IIS 6 下可以的设置到了 IIS 7 下有的会发生变化。身份模拟的配置上,IIS7 和 IIS6有很大不同,网上IIS6的身份模拟的文章比较多,但介绍IIS7的比较少,我把的一些折腾的经验在这篇博客中写下来,以供参考
    2011-10-10

最新评论