抓取GridView "编辑"模式下,TextBox修改后的数值

对应书本「上集」第十章(ASP.NET专题实务 / 松岗出版)

[C#] ADO.NET #3 (GridView + SqlDataSource)完全手写、后置程序代码,兼论 SqlDataSource与UpdateParameter/DeleteParameter的用法

[C#] ADO.NET #3-1 (GridView + DataReader + SqlCommand)完全手写、后置程序代码

这是昨天上课的补充讲义:

================================================================

请写在GridView的 RowUpdating事件里面

第一,转成样版(Template),透过 .FindControl()方法处理

GridView1.Rows[e.RowIndex].FindControl("子控件ID")

.FindControl()的范例太多了,因为太好用、太常用,请看 http://www.dotblogs.com.tw/mis2000lab/Tags/findcontrol/default.aspx

第二,不转成样版,请用 .Controls处理

GridView1.Rows[e.RowIndex].Cells[数字].Controls[0]

这方法比较不好操作,可以参阅以前的文章与范例:

上集 Ch.10 -- .Controls() / .Controls[]的补充范例 #1

上集 Ch.10 -- .Controls() / .Controls[]的补充范例 #2 -- 转成样版(Template)以后

第三,透过 RowUpdating事件里面的参数e

e.NewValues["域名"] -- 修改以后的「新资料」

另外有一个 e.OldValues["域名"]  其实就是「开放式并行存取」里面提到的观念 -- 修改以前的「旧数据」

[图解] SqlDataSource 开放式并行存取 (Optimistic Concurrency),以GridView为例

第四,传统的Request也能抓到。

首先,您必须透过 UniqueID属性抓到HTML网页(程序执行后的成果画面)上的控件编号(独一无二的编号)

[习题] Web控件 -- UniqueID属性 与 ID属性两者的差异(上集Ch. 3 补充范例)

有了这个编号,就能透过 Request来撷取,例如:

    protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {   
        //----修改、更新
        TextBox my_test_time = (TextBox)GridView1.Rows[e.RowIndex].Cells[2].Controls[0];   // 抓到「Text控件」。
 
        //---- 您也可以透过下列作法,取得GridView "编辑模式"下的TextBox,修改 "之后"的数值。
        Response.Write("第1个TextBox的 UniqueID" + my_test_time.UniqueID + "<hr>");
 
        Response.Write(Request[my_test_time.UniqueID] + "<br>");
 
        Response.End();
        // 后续省略......
    }

抓取GridView "编辑"模式下,TextBox修改后的数值的更多相关文章

  1. 巨坑:jqgrid竟然取不到编辑模式下input的值

    今天遇到最奇葩的问题,竟然取不到input的值,感觉世界观都颠覆了.后来一搜资料,又是jqgrid框架搞的鬼,真搞不明白,开发框架就好好开发框架,留这么多坑有意思吗? jqgrid编辑模式下不要调用g ...

  2. 工作记录--WPF自定义控件,实现一个可设置编辑模式的TextBox

    原文:工作记录--WPF自定义控件,实现一个可设置编辑模式的TextBox 1. 背景 因为最近在使用wpf开发桌面端应用,在查看页面需要把TextBox和Combox等控件设置为只读的.原本是个很简 ...

  3. OSG立体模式下动态修改相机远近裁剪面的实现

    1. 非立体模式下动态修改相机远近裁剪面 class GLB_DLLCLASS_EXPORT CGlbGlobeClipHandler : public osg::NodeCallback    { ...

  4. vim中,在编辑模式下如何快速移动光标

    编辑 ~/.vimrc 配置文件,加入如下行,编辑模式下自定义的快捷键 inoremap <C-o> <Esc>o  inoremap <C-l> <Righ ...

  5. HTML编辑模式下制作表格

    前面有朋友问如何做图文并茂的音乐帖子,的确音乐能以表格式做出来,更能让人过目不忘,何况帖子制作过程本身就是创作,包含了制作人对音乐的理解和爱好.以下简单介绍用代码HTML制作表格,希望对大家有所帮助. ...

  6. ubunut在系统恢复模式下无法修改root密码的分析和解决

    前些日子本猫的ubuntu 14.10貌似出了点问题,想修改下root密码,但是无奈原系统有错正常情况下无法修改啊,这是逼我重装的节奏吗? 在ubuntu开机后立即按住left_shift不放,调出g ...

  7. windows中抓取hash小结(下)

    书接上回,windows中抓取hash小结(上) 指路链接 https://www.cnblogs.com/lcxblogs/p/13957899.html 继续 0x03 从ntds.dit中抓取 ...

  8. 解决Ubuntu中vi命令的编辑模式下不能正常使用方向键和退格键的问题

    在Ubuntu中,进入vi命令的编辑模式,发现按方向键不能移动光标,而是会输出ABCD,以及退格键也不能正常删除字符.这是由于Ubuntu预装的是vim-tiny,而我们需要使用vim-full,解决 ...

  9. Linux下IP修改后重启服务器 oralce 出错(监听无法启动)

    针对linux下修改IP导致的Oracle不能启动问题的解决 主要修改/etc/hosts配置文件.修改前配置: # Do not remove the following line, or vari ...

随机推荐

  1. 2-1 本章作业&2-2 开发系统与工具选择

    2-1 2-2 推荐使用Android Studio开发Flutter

  2. LaTeX 语法

    MathJax是什么? MathJax是一个开源JavaScript库.它支持LaTeX.MathML.AsciiMath符号,可以运行于所有流行浏览器上. LaTeX是什么? LaTeX(LATEX ...

  3. 如何让div中的span垂直居中 ----height:100%设置div的高度

    如果div中只有一个span一个元素,可以使用line-height.如果div中还有其他元素,可以设置span的css如下: .span{ position: absolute; top: 50%; ...

  4. hihocoder1475 数组分拆【DP+前缀和优化】

    思路: DP[ i ] 代表以 i 结尾的方案数. dp[i] += sum[i] - sum[j - 1] != 0 ? dp[j] : 0 ; 对于100%的数据,满足1<=N<=10 ...

  5. jenkins 找不到mvn 命令

    错误如下: /data/jenkins/temp/hudson9132559581388971644.sh: line 4: mvn: command not found 方法如下: 1  修改环境变 ...

  6. Windows CreateEvent,SetEvent,WaitForSingleObject的用法

    http://blog.pfan.cn/embed/19089.html WaitForSingleObject的用法 DWORD WaitForSingleObject(   HANDLE hHan ...

  7. 在VMware上克隆Linux虚拟机及其网卡配置方法

    最近在搭建Hadoop集群,1个Master,3个Workers.使用VMware workstations创建Linux虚拟机,版本是CentOS7.安装完成并做了相应的网络配置后,使用VMware ...

  8. 分布式集群环境下,如何实现session共享一(应用场景)

    在web应用中,由于http的请求响应式,无状态.要记录用户相关的状态信息,比如电商网站的购物车,比如用户是否登录等,都需要使用session.我们知道session是由servlet容器创建和管理, ...

  9. Nacos深入浅出(四)

    private void executeAsyncInvoke() { while (!queue.isEmpty()) { NotifySingleTask task = queue.poll(); ...

  10. JavaScript进阶 - 第6章 事件响应,让网页交互

    6-1什么是事件 JavaScript 创建动态页面.事件是可以被 JavaScript 侦测到的行为. 网页中的每个元素都可以产生某些可以触发 JavaScript 函数或程序的事件. 比如说,当用 ...