ListView与.FindControl()方法的简单练习 #2 -- ItemUpdting事件中抓取「修改后」的值

本文通过实例演示了在ASP.NET中使用ListView控件与FindControl方法在ItemUpdating事件中获取用户修改后的数据,避免了在编辑模式下常见的错误实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文出處  http://www.dotblogs.com.tw/mis2000lab/archive/2013/06/24/listview_itemupdating_findcontrol_20130624.aspx

 

本文跟上一篇文章有关连,请依照顺序来练习:

ListView.FindControl()方法的简单练习#1 -- Page_Load事件中的错误
http://www.dotblogs.com.tw/mis2000lab/archive/2013/06/24/listview_findcontrol_20130624.aspx

 

 

书本上集,第十章有几个简单的练习

让读者练习 .FindControl()方法与.Controls各有哪些用途?什么时候用哪一个最简便?

(.NET 4.5起的书籍才有这个范例) 

 

如果您想要用 ListView来练习,写法(跟GridView)很雷同。

流程如下:

    1. 进入「编辑」模式以后, User开始修改数据

    2. 修改完成后,按下「更新(Update)」按钮才是真正的「抓取 User修改后的值」并回写数据库。

 

因此.....我要抓取「User修改后的数据」应该把程序写在 ItemUpdating事件

(初学者常犯的错误,他们写在「编辑」的事件中。例如 ...Editing事件....

      事实上,按下「编辑」按钮只是画面上的样版作切换,进入「编辑样版」.....

      User 还没有动手改资料呢!你如何抓取「人家修改后」的值????    

      ................ 流程不对,给你程序代码,你都不知道要放在哪里啊)

 

 

这部分的写法,GridView / ListView两者雷同

互相比对一下,很简单

 

    protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)

    {

        //==抓取「编辑」模式里面,使用者修改后的字段值。

 

        TextBox tb = (TextBox)GridView1.Rows[e.RowIndex].Cells[2].FindControl("TextBox1");

        // TextBox tb = (TextBox)GridView1.Rows[e.RowIndex].FindControl("TextBox1");

        //或是写成 TextBox tb = GridView1.Rows[e.RowIndex].FindControl("TextBox1") as TextBox;

 

        Response.Write("<br /> title -- " + tb.Text);

 

        //...... 省 略 ......................................................................................................

    }

 

 

    protected void ListView1_ItemUpdating(object sender, ListViewUpdateEventArgs e)

    {

 

        TextBox tb = (TextBox)ListView1.Items[e.ItemIndex].FindControl("titleTextBox");

        //或是写成TextBox tb = ListView1.Items[e.ItemIndex].FindControl("titleTextBox") as TextBox;

 

        Response.Write("<br /> title -- " + tb.Text);

 

        //...... 省 略 ......................................................................................................

    }

 

 

 

来上课吧!http://www.dotblogs.com.tw/mis2000lab/archive/2011/06/24/29807.aspx

 

现场表演,十~二十分钟能做到的事情

自己看书要看好久,很且看完以后还是迷糊的

 

文字上的说明,真的比不上「现场表演」的生动啊!

 

 

我花两年三个月学习的经验

        你要花 三个月、在家自修 学完?可能吗?.....太累了吧?

 

我亲自上课、重点挑出来,

亲自演练给你看

    五次上课,让你抓到一千多页的书本重点!(还有书本没讲的,现场上课才有喔~)

    轻松入门、一次掌握正确观念

..........................................太划算了!

 

微软MVP + ASP.NET畅销书作者,亲自授课 -- http://www.dotblogs.com.tw/mis2000lab/archive/2011/06/24/29807.aspx

 

 

 

转载于:https://www.cnblogs.com/mis2000lab/p/3310360.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值