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

原文出處  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