ASP.NET 2.0 手扎-GridView,書上沒告訴你的事

翻到今年三月正式建構ASP.NET 2.0的系統時,參考同事的「 ASP.NET 2.0學習手冊」發現:怎麼會有些不容易發現的小地方,造成耗費不少時間找問題癥結,最後都是一些小小的地方,或許是「貼心的設計/預設值」,但卻與我直覺有一些差異,因此解了問題後特別記下筆記,供自己未來參考。分享之。



  1. 設定 DataFormatString 的時候,每個BoundField必須「取消HTMLEncode」;至於 MSDN中說必須要設定為ReadOnly,指的是預設"Select"模式下才看得到套用的結果;若要在編輯模式中看到,則另外要去設定「ApplyFormatInEditMode」。

  2. 執行刪除指令 的時候,當刪除最後一行之後,刪除指令完成,一切都沒有問題,但事件(包在物件內部的指令碼)會去設定選取的Key value, 該value卻註定超過索引範圍 (因為是空的)。這個問題拜了Google大神後,居然只找到兩個可行解,但是都不怎麼好

    • 自己去時作那個物件,把AffectedRow那段處理掉(同樣的,似乎也有人走資料庫面,把刪除的動作包在procedure中,然後設定資料庫不回傳受影響的列數)

    • 當確定執行OK後 (Deleted事件),將頁面Redirect走 (強迫程序不繼續走下去)



留言

這個網誌中的熱門文章

Excel技巧(1):檔案肥大的原因,附上減肥撇步

Excel技巧(2):拜託殺了那些看不見的空白吧!