因為畫面設計的差異,會讓程式碼的寫法也不同,
如果您混合使用、不明白原因,就會犯下錯誤。
上一篇範例:
[GridView]在 RowCommand事件中,自訂的Button 如何取出某一列(RowIndex) 的索引值#2 -- e.CommandSource
有朋友詢問: 兩種作法的差異?而且他發現兩個疑問
???????????????????????????????????????????????????????????????????????????????????????????????????
根據微軟 MSDN的說法 -- 在 GridView的 RowCommand事件裡面,您使用 e.CommandSource應該是抓到「整個GridView」
msdn的範例,GridViewCommandEventArgs.CommandSource 屬性
也是這樣撰寫的,程式碼如下:
void CustomersGridView_RowCommand(Object sender, GridViewCommandEventArgs e) { if(e.CommandName=="Add") { // ...省略... GridView customersGridView = (GridView)e.CommandSource; GridViewRow row = customersGridView.Rows[index]; // ...省略... } }
一樣在GridView的 RowCommand事件底下
為什麼我上一個範例,卻可以寫成這樣?
問題一:很明顯的 e.CommandSource是一個錯誤啊?為何還能正確執行?
問題二:當他把我的寫法放進 msdn的範例中,改寫如下卻出現錯誤:
???????????????????????????????????????????????????????????????????????????????????????????????????
***********************************************************************************************************************************
我的寫法 Button BTN =(Button)e.CommandSource;
搭配的畫面設計 -- GridView轉成「樣板」,然後加入一個 Button控制項
msdn範例的作法:GridView GV = (GridView)e.CommandSource;
他的畫面設計,使用 GridView自己的「ButtonField」來做
大型控制項的身體裡面,有 ButtonField / BoundField ....等等,如下圖:
***********************************************************************************************************************************
這就是差異所在。 ^_^
所以啊......寫程式要動腦想一下,不要只是上網找Code,然後 Copy / Paste
範例下載:GridView_RowCommand_FindControl.rar
您也可以參閱這篇文章的說明:
GridView RowCommand 事件
http://www.allenkuo.com/GenericArticle/view1209.aspx
GridView的 RowCommand事件是什麼? .FindControl()方法、Controls[] 該怎麼用?有哪些變化?
這不過是我書本「上集」第十章的內容而已
上課第三天的進度罷了.......
如果您自認為基礎不錯了,可以單獨上兩天的研討會
[研討會] 大型控制項完全解密+ADO.NET實戰範例 (14hr)
為什麼 ASP.NET (Web Form)這麼簡單,你老是學不會?
因為買錯書、找錯老師了...................................
下面這2篇文章講到的,在「入門實戰班」都會學到。
內容保證比其他書本與補習班 更深入、充實!
(拜託您一定要看一下,並自行評估自己能力,謝謝您!)
1. [自我評量表] ASP.NET 我該上什麼課?入門、或是進階?.....
2. [課程大綱]ASP.NET入門實戰 + ADO.NET進階班(七週),教學內容
3. 論學習歷程的三階段 -- 守破離 / 學得快才會想學!黃金20小時學習法
師資經歷:
微軟MVP獎得主(自2008年起)
資策會(南區)前任講師
ASP.NET暢銷書作者(台北市 天瓏書局譽為「唯一熱賣」、「常年熱銷」。PChome書店 2011/2012年度暢銷電腦書 ,我的書 上/下兩集都入榜)
美國商業週刊名列「全球百大科技業」技術經理,具有實務經驗(白天仍在上班),絕非坊間補習班聘用的無業界經驗、廉價講師
我(MIS2000 Lab.)親自為您授課!
上課時數更多!
價錢卻更便宜!(只要大型補習班的 六折 起)
師資更強!
有了這三大保證、三大特點 您還不報名,在等什麼?....請來信 mis2000lab (at) yahoo.com.tw (at)就是@的意思
我要報名!請點選下圖。
我將思想傳授他人, 他人之所得,亦無損於我之所有;
猶如一人以我的燭火點燭,光亮與他同在,我卻不因此身處黑暗。----Thomas Jefferson
線上課程教學,遠距教學 (Web Form 約51hr) https://dotblogs.com.tw/mis2000lab/2016/02/01/aspnet_online_learning_distance_education_VS2015
線上課程教學,遠距教學 (ASP.NET MVC 約75~88hr) https://dotblogs.com.tw/mis2000lab/2018/08/14/ASPnet_MVC_Online_Learning_MIS2000Lab
ASP.NET MVC線上課程 第一天 免費看 (5.5小時)
寫信給我,不要私訊 -- mis2000lab (at) yahoo.com.台灣 或 school (at) mis2000lab.net
ASP.NET遠距教學、線上課程(Web Form + MVC)。 第一天課程, "完整" 試聽。
................ facebook社團 https://www.facebook.com/mis2000lab ......................
................ YouTube (ASP.NET) 線上教學影片 https://www.youtube.com/channel/UC6IPPf6tvsNG8zX3u1LddvA/
Blog文章 "附的範例" 無法下載,請看 這裡 ...... https://dotblogs.com.tw/mis2000lab/2016/03/14/2008_2015_mis2000lab_sample_download
請看我們的「售後服務」範圍(嚴格認定)。
......................................................................................................................................................
[遠距教學、教學影片] ASP.NET (Web Form) 課程 上線了!MIS2000Lab.主講
事先錄製好的影片,並非上課時側錄! 觀看影片時,有如我「一對一」跟您面對面講課。
ASP.NET MVC 5 線上教學
累積時數約 75~ 88小時...... 第一天(5.5小時)完整內容,"免費"讓您評估