MIS2000 Lab. -- ASP.NET学习&分享 / ASP.NET案例精编(清华大学出版社)
您好,我来自台湾。很高兴与各位分享一些成果。希望对您有帮助。出版书籍是「ASP.NET案例精编 / 清华大学出版社」。

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

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

 

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

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

 

 

 

posted on 2013-09-09 18:12  MIS2000 Lab.  阅读(190)  评论(0编辑  收藏  举报


ASP.NET案例精编——适用于VS 2005/2008(配光盘)
 

当当网购买 http://product.dangdang.com/product.aspx?product_id=20583373&ref=search-1-pub