热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

在ASP.NETGridView中获取更新的TextBox值

我有一个网页,其中包含一个数据绑定的gridview。字段之一是TemplateField文本框,

我有一个网页,其中包含一个数据绑定的gridview。字段之一是TemplateField文本框,允许用户修改数量。我在GridView的外部有一个“更新”按钮,该按钮链接到一个even,它应该使用屏幕上的值更新数据库值。

我是ASP.NET编程的新手,我很难弄清楚哪里出了问题,因为当我单击按钮时,事件会触发,但是对于我来说,我无法确定在框中获取如何获取文本的更新的“屏幕”值。我尝试阅读许多Stack Overflow页面以解决此问题,但没有找到适合我的解决方案,因此我怀疑我的设置有问题。

这是我的aspx页面:





















runat="server" AutoGenerateColumns="false" Onrowupdating="gvMain_RowUpdating" >















OnClick="btnDelete_Click"
OnClientClick="return confirm('Are you sure that you wish to delete this row of data?');" />







这是我的btnSaveQtys_Click方法中的循环。现在,我只是想先获取数据,然后再使用它来确定数据库中的数据是否需要更新,因为它是一个新值:

For Each gvr As GridViewRow In gvMain.Rows
'Check if the value is the same as the database value
Dim ID As String = gvr.Cells(GridViewInfo("mnuID")).Text
Dim ItemNumber As String = gvr.Cells(GridViewInfo("mnuItem")).Text
Dim AmountText As TextBox = gvr.FindControl("txtBoxQty")
Dim NewAmount As String = AmountText.Text
Next

我将数据存储在名为“ MainData”的数据表中,因此这是我在Page_Load方法中运行的代码,以获取初始数据或从Session的PostBack上重新获取数据:>

If Session("MainData") Isnot Nothing AndAlso CType(Session("MainData"),DataTable).Rows.Count <> 0 Then
MainData = Session("MainData")
Else
Dim Query As String = SELECT DISTINCT --Need Distinct because we have multiple customers per district,and we need the customer to get to the employee.
--Perhaps there's a field somewhere in a District table that could contain this if an employee can be assigned to a whole district?
md.dstName,mm.*
FROM [NSPrograms].[dbo].tblMonthlyMenu mm
INNER JOIN [NSPrograms].[dbo].tblMenuDistricts md ON md.dstChain = mm.mnuDistrict
AND md.dstactive = 1
INNER JOIN [NSData].[dbo].[tblCustomers] c ON c.chain_name_id = md.dstChain
INNER JOIN [NSData].[dbo].[vw_Employees] e ON c.Sales_Rep_ID = e.Employee_ID
AND LOWER(e.Email) = '#USERID#'
ORDER BY mm.mnuMonth,mm.mnuID
]]>.Value.Replace("#USERID#",username)
MainData = GetDataTable(Query,"dbNSData")
Session.Add("MainData",MainData)
End If
gvMain.DataSource = MainData
gvMain.DataBind()
gvMain.Visible = True

我觉得我缺少某种关键要素。我认为数据绑定将“神奇地”工作,以便当值在屏幕上更改时,它在DataTable中也会更改,但是我想那没有发生吗?

当我尝试运行此解决方案时,这就是我得到的。我尝试将第一行从5.00更改为10.00:

在ASP.NET GridView中获取更新的TextBox值

当我在代码中放置一个断点时,这就是我看到的变量值。请注意,我当然可以读取BoundField项目,用户ID字段不可见,而ItemItemNumber可见,但是由于某种原因,数量并未更新以匹配屏幕上的内容:

在ASP.NET GridView中获取更新的TextBox值

我缺少哪一部分导致数据绑定不“粘”?





推荐阅读
  • ASP.NET2.0数据教程之十四:使用FormView的模板
    本文介绍了在ASP.NET 2.0中使用FormView控件来实现自定义的显示外观,与GridView和DetailsView不同,FormView使用模板来呈现,可以实现不规则的外观呈现。同时还介绍了TemplateField的用法和FormView与DetailsView的区别。 ... [详细]
  • express工程中的json调用方法
    本文介绍了在express工程中如何调用json数据,包括建立app.js文件、创建数据接口以及获取全部数据和typeid为1的数据的方法。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • 深入理解CSS中的margin属性及其应用场景
    本文主要介绍了CSS中的margin属性及其应用场景,包括垂直外边距合并、padding的使用时机、行内替换元素与费替换元素的区别、margin的基线、盒子的物理大小、显示大小、逻辑大小等知识点。通过深入理解这些概念,读者可以更好地掌握margin的用法和原理。同时,文中提供了一些相关的文档和规范供读者参考。 ... [详细]
  • 导出功能protectedvoidbtnExport(objectsender,EventArgse){用来打开下载窗口stringfileName中 ... [详细]
  • NotSupportedException无法将类型“System.DateTime”强制转换为类型“System.Object”
    本文介绍了在使用LINQ to Entities时出现的NotSupportedException异常,该异常是由于无法将类型“System.DateTime”强制转换为类型“System.Object”所导致的。同时还介绍了相关的错误信息和解决方法。 ... [详细]
  • 本文介绍了使用数据库管理员用户执行onstat -l命令来监控GBase8s数据库的物理日志和逻辑日志的使用情况,并强调了对已使用的逻辑日志是否及时备份的重要性。同时提供了监控方法和注意事项。 ... [详细]
  • ①页面初始化----------收到客户端的请求,产生相应页面的Page对象,通过Page_Init事件进行page对象及其控件的初始化.②加载视图状态-------ViewSta ... [详细]
  • phpcomposer 那个中文镜像是不是凉了 ... [详细]
  • 使用圣杯布局模式实现网站首页的内容布局
    本文介绍了使用圣杯布局模式实现网站首页的内容布局的方法,包括HTML部分代码和实例。同时还提供了公司新闻、最新产品、关于我们、联系我们等页面的布局示例。商品展示区包括了车里子和农家生态土鸡蛋等产品的价格信息。 ... [详细]
  • 本文介绍了在HTML中实现表格的页眉页脚布局的解决方案。通过基本的HTML/CSS技术,避免使用内联样式和固定定位,实现了一个标准的页眉页脚布局。提供了一个替代的解决方案,为读者提供了参考。 ... [详细]
  • 本文详细介绍了在Linux虚拟化部署中进行VLAN配置的方法。首先要确认Linux系统内核是否已经支持VLAN功能,然后配置物理网卡、子网卡和虚拟VLAN网卡的关系。接着介绍了在Linux配置VLAN Trunk的步骤,包括将物理网卡添加到VLAN、检查添加的VLAN虚拟网卡信息以及重启网络服务等。最后,通过验证连通性来确认配置是否成功。 ... [详细]
  • PatchODAX8: ... [详细]
  • Yii framwork 应用小窍门
    Yiiframework应用小窍门1.YiiFramework]如何获取当前controller的名称?下面语句就可以获取当前控制器的名称了!Php代码 ... [详细]
author-avatar
南非酋长
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有