抓取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来撷取,例如:
....................................................................................................寄信给我 mis2000lab (at)雅虎.com.台湾 ........
ASP.NET案例精编(清华大学出版社 / 作者MIS2000Lab)
http://www.china-pub.com/46063
2009/5/15上市
市场价 :¥59.80 RMB(人民幣)