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