[勘誤表]下集(<font color=green><big>第一版</big></font>,白皮書)。ASP.NET專題實務 II--範例集與4.0新功能(文魁出版/ <font color=green><big>VB</big></font>) 2011/05/10

摘要:[勘誤表]下集。ASP.NET專題實務 II -- 範例集與4.0新功能(文魁出版 / VB) 2011/05/10
ASP.NET專題實務( II ):範例集 與 4.0新功能



 

 

本文的勘誤表,不定期更新。

尤其是「補充範例」,我會不定期補充與更新(讀者服務&後續補充

這裡是 VB版(第一版)...的書本勘誤,

ASP.NET專題實務( II ):範例集 與 4.0新功能

      本書於2010 / 二月出版一年內已經販售 四刷

      採用 VS 2008 (.NET 3.5) SP1來撰寫,當時  VS 2010尚未面市。(本文最後,提供VS 2010改寫後的 VB與 C#新範例給讀者下載)

 

 

 

更新日期:  2011/05/10

章節

    錯    誤     更    正

Ch. 1

   
   
補充範例:(文章最後,有新版本的範例讓您下載)

[補充][習題]下集第一章 MasterPage(主版頁面),透過@ MasterType指示詞存取 MasterPage的公開屬性

[補充][習題]下集第一章 MasterPage(主版頁面),透過@ MasterType指示詞存取 MasterPage的公開屬性 (Part II)

 

Ch. 2

P. 2-20 程式的第五列註解,排版時忘了斷行。 段落應修正為:

'====或是改成這樣也行
If Profile.u_bgcolor= " Then

P. 2-25 倒數第五列,「0與9,代表....,一直取到第個字元」 應修正為「一直取到第個字元」
   
   

Ch. 3

P. 3-3 下方的 Web.SiteMpa檔案內容,屬性之間少了空白

<siteMapNode url=""title=""...>

請參閱光碟內的範例。應修正為:

<siteMapNode  url=""  title="" ...>

本章 Ch. 3-7節的範例,書本上漏了敘述一段,

但光碟內的範例是正確的。

倘若您的網頁放在其他目錄下面,那麼這個目錄底下也要放置一個 Web.Config檔案,裡面需要搭配您的 Login控制項的權限 。

請看右側的說明----

 

或是參閱我這篇文章:

http://www.dotblogs.com.tw/mis2000lab/archive/2008/05/06/3802.aspx

 

光碟內的範例是正確的。請參閱本章的範例(test_Navigator網站),/test_Menu_TreeView/Web_Pages目錄底下的 Web.Config檔案。設定如下:

第一, 設定目錄下的所有網頁,都不允許「匿名」進入。請設定為:
<deny users="?" />
 

第二, 每一個網頁的權限(誰可以看?誰不能看?)都要設定在此。請您發揮耐心,逐一設定之。
例如1.aspx這個網頁的權限,只允許 Admin群組來觀看。請這樣設定:
<location path="1.aspx">

  <system.web>
     <authorization>

<allow roles="Admin" />
<deny users="*" />

     </authorization>
  </system.web>

</location>

光碟內的範例是正確的。請參閱本章的範例(test_Navigator網站),/test_Menu_TreeView/Web_Pages目錄底下的 Web.Config檔案

 

或是參閱我這篇文章:

http://www.dotblogs.com.tw/mis2000lab/archive/2008/05/06/3802.aspx

--謝謝讀者  越看的指證。

   
補充範例:(文章最後,有新版本的範例讓您下載)

[補充][習題]下集第三章,TreeView搭配自訂的XML文件 作巡覽(XmlDataSource)

[補充][習題]下集第三章,TreeView如何從資料庫撈資料,顯示出樹狀階層的路徑與節點?

[勘誤]下集(第二版黑皮書) Ch.3-9節,Web.Config檔 for ASP.NET 4.0版

 

 

Ch. 4

   
P. 4-7  標題 4-3有錯字, 使用 AccessDataSource + DeatilsView 應修正為:

4-3  使用 AccessDataSource + DetailsView

P. 4-10  上面的程式碼,article字樣的下方,少了一個「4」的圓圈標示  
 

Ch. 5

P. 5-2上面的圖片二。 補充說明請看右側---- 您也可以有另外一種作法----

1). 先用滑鼠點選「資料連接」
2). 按下滑鼠右鍵,可以開始設計 .dbml檔案。

P. 5-9 下面第二個表格,「test_talk欄位」裡面寫著「表示這一則讀者留言....裡面 id=1那篇新聞」 應該修正為:

「表示這一則讀者留言....裡面 id=2 那篇新聞」

P. 5-18 下面第二個表格,「test_talk欄位」裡面寫著「表示這一則讀者留言....裡面 id=1那篇新聞」 應該修正為:

「表示這一則讀者留言....裡面 id=2 那篇新聞」

P. 5-19 最下面的圖片說明,「開啟資料編輯(修改)、新增、刪除的功能」 請把「新增」字樣給刪除。
因為 GridView預設並不提供新增功能。
P. 5-33第二段的文字「LIQ-to-Entity」 應該修正為「LINQ-to-Entity」
   
補充範例:(文章最後,有新版本的範例讓您下載)

[習題]下集第五章LinqDataSource,自訂 Class當作資料來源,兼論 ListView與 GridView的小差異

[補充]下集第五章LinqDataSource,System.Linq與System.DataLinq差異

 

Ch. 6

   
P. 6-34圖片下方的那段文字,「上圖的說明與 .FndControl()方法......」 應該修正為「上圖的說明與 .FindControl()方法......」。
P. 6-41中間的「.NET 2.0版開始的寫法:」 獨立成一段文字,前面不應該有段落符號。
P. 6-62最後面的倒數第二段,「(圖就是錯誤的執行結果......)」 應該修正為「(圖就是錯誤的執行結果......)」
   
補充範例:(文章最後,有新版本的範例讓您下載)

Ch. 6-3節完成之後,可以參閱這個範例:

Ch. 6-7節完成後DataBinding Expresion(資料繫結運算式)搭配「公用變數」的技巧。很多人不會應用,所以補充下面的範例:

Ch. 6-8節前面,我會請各位練習這個範例:ADO.NET #3 (GridView + SqlDataSource)完全手寫、後置程式碼

  1. 您可以把 GridView分頁「PageIndexChanging」事件裡面的 DBInit()副程式註解掉(不執行),看看分頁會變成怎樣?
  2. 您可以把 GridView進入編輯模式的「RowEditing」事件裡面的 DBInit()副程式註解掉(不執行),看看 您進入編輯模式後,會看見什麼怪異景象?
  3. 透過這樣的練習,讓您實際體驗 DataBinding時機不對,出現的結果就會如此怪異!!

 

Ch. 7

   
   
補充範例:(文章最後,有新版本的範例讓您下載)

[補充]下集 第七章(資料庫交易,Transaction) -- SqlDataSource的快取

Ch. 8

P. 8-9上面的第二段文字,最後面「......能看見這一節的畫面......」 應該修正為「能看見這一節畫面」
P. 8-11的程式,補充說明:

「Dim ws As New localhost.Service_1()」

補充說明:
  1. Service_1是我們寫好的 Web Service檔案名稱
  2. 不建議使用 localhost這樣的關鍵字,您可以自己命名。
   
補充範例:(文章最後,有新版本的範例讓您下載)

Web Service的相關補充,WCF作法都差不多。

WCF 新手入門 #1 -- 觀念 與 好文推薦

WCF 新手入門 #2 -- 撰寫第一個 WCF程式

WCF 新手入門 #3 -- 撰寫Client端程式,引用WCF

 

Ch. 9

   
Ch. 9-25  9-5-2小節,「FCKeditor的設定檔....」 應修正為「FCKeditor的設定檔....名為 fckconfig.js
   
 

Ch. 10

P. 10-14 上面的第二段文字,最後面「......cell1、cell2、cells3......」 應修正為「......cell1、cell2、cell3......」
P. 10-38  下面第二個表格,「test_talk欄位」裡面寫著「表示這一則讀者留言....裡面 id=1那篇新聞」 應該修正為:

「表示這一則讀者留言....裡面 id=2 那篇新聞」

   

Ch. 11

   
P. 11-1最後一段的後面文字「因此我們採用 RadioBoxList......」 應該修正為「因此我們採用 RadioButtonList......」
P. 11-2圖片說明「...... RadioBoxList......」 應該修正為「...... RadioButtonList......」
P. 11-4 書本與光碟範例 Easy_Vote_1.aspx有誤

(文章最後,有新版本的範例讓您下載)

Dim Update_SQLstr As String = "Update Vote_1 set vote_" & (i + 1) & " = vote_" & i & " + 1 where id = (select top 1 id from vote_1 order by id DESC)"

SQL指令應該修正為

(文章最後,有新版本的範例讓您下載)

Dim Update_SQLstr As String = "Update Vote_1 set vote_" & (i + 1) & " = vote_" & (i + 1) & " + 1 where id = (select top 1 id from vote_1 order by id DESC)"

P. 11-15下面的段落全部擠在一起,排版時未分段落。  
P. 11-20下面的 SqlDatasursce是錯字 應該修正為 SqlDataSource

謝謝讀者 小頭的提醒。

P. 11-21 。光碟裡面範例 Vote_Auto_0_Input_001.aspx有誤。

(文章最後,有新版本的範例讓您下載)

 

 

 

 

 

 

P. 11-21 。光碟裡面範例 Vote_Auto_0_Input_001.aspx有誤。

(文章最後,有新版本的範例讓您下載)

 

 

 

 

 

 

 

P. 11-21 。光碟裡面範例 Vote_Auto_0_Input_001.aspx有誤。

(文章最後,有新版本的範例讓您下載)

Button1_Click事件裡面,請刪除這一列程式碼 SqlDataSource1.Insert()。

並且把另外一個 SqlDataSource1_Inserted事件給刪除,這裡的程式應該COPY到 Button1_Click事件裡面才對。

謝謝讀者 小頭的提醒。

........................................................................................

範例 Vote_Auto_0_Input_001.aspx

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim question_no As Integer = 0

'-- 計算這次的投票題目,共有幾個選項?
'====================================
'== 計算這次投票,共有「幾名」候選人?
'====================================

For i As Integer = 1 To 10

Dim TB As TextBox = CType(Page.Form.FindControl("TextBox" & i), TextBox)

If TB.Text <> "" Then
    question_no = (question_no + 1)
End If

Next

Dim Conn As New SqlConnection(WebConfigurationManager.ConnectionStrings("testConnectionString").ConnectionString)
Conn.Open() '---- 連結DB

Dim cmd As SqlCommand = New SqlCommand("Insert into Vote_Auto(vote_time, title, question_1, question_2, question_3, question_4, question_5, question_6, question_7, question_8, question_9, question_10, question_all) Values('" + DateTime.Now.ToShortDateString() + "', '" + TextBox_title.Text + "', '" + TextBox1.Text + "' , '" + TextBox2.Text + "' , '" + TextBox3.Text + "' , '" + TextBox4.Text + "' , '" + TextBox5.Text + "' , '" + TextBox6.Text + "' , '" + TextBox7.Text + "' , '" + TextBox8.Text + "' , '" + TextBox9.Text + "' , '" + TextBox10.Text + "' ," + question_no + ")", Conn)
cmd.ExecuteNonQuery()  '---- 執行SQL指令
cmd.Cancel()

If (Conn.State = ConnectionState.Open) Then
    Conn.Close()
    Conn.Dispose()
End If

Response.Redirect("Vote_Auto_1_List.aspx")  '--跳到首頁,開始投票

End Sub

補充範例:

 

Ch. 12

P. 12-6的程式碼,原本一段一段的「IF判別式」,需要修正。

(文章最後,有新版本的範例讓您下載)

應該修正為「巢狀 IF判別式」:

IF .....
ELSE

IF ....

END IF

END IF(文章最後,有新版本的範例讓您下載)

或是修改成這樣:

 '== 請您參閱「重構(Refactoring)」一書的 Ch.9-5節
If (InStr(1, str_1, "--") <> 0) Then Return 1 '--返回值。檢查結果(1表示失敗,沒通過。)
If (InStr(1, str_1, "1=1") <> 0) Then Return 1

If (InStr(1, str_2, "--") <> 0) Then Return 1
If (InStr(1, str_2, "1=1") <> 0) Then Return 1

'註解:......可以繼續延續下去

Return 0
'--返回值。通過。

P. 12-28頁裡面的程式,倒數第八列排版有誤。把程式跟註解文字擠在一起。

(文章最後,有新版本的範例讓您下載)

應修正為:

Dim comparer As StringComparer = StringComparer.OrdinalIgnoreCase
'==表示不區分英文大小寫

   

Ch. 13

P. 13-8上方的圖片,裡面的控制項ID「GridView」 應修正為:

控制項ID「FormView」

P. 13-32底下的方塊文字,「作者著解」。 應修正為:
  1. 作者註解
  2. 文字後面,請刪除多餘的 )符號。
   
 

Ch. 14

   
   
 

Ch. 15

提醒您~ 本章的 EDM設計,建議您自己作一個,不建議直接使用光碟裡面的 .edmx檔案。

以免因為環境與我不同,而導致後續的範例無法正確執行。

P. 15-16頁。標題 15-6下方「前面兩個範例.....」。

(文章最後,有新版本的範例讓您下載)

原本的兩個範例,因為內容接近,所以被我刪除了,只留下書本這一個。如果您仍想觀看這兩個範例,請看:

ADO.NET Entity入門的程式 #1(自己動手寫)--DataBinding

ADO.NET Entity入門的程式 #2(自己動手寫)--For迴圈來展示資料、自訂參數查詢

 

   
Entity的部分:(文章最後,有新版本的範例讓您下載)

 [習題]用ADO.NET Entity Framework作一個主細表(Master-Detail)範例

 剛剛才發現ADO.NET Data Services 與 Entity在VS 2010上的小差異

 參考文件,ADO.NET Entity Framework自己手寫 "查詢"程式

ADO.NET Entity入門的程式 #3(自己動手寫)--LINQ-to-SQL、EntitySQL、查詢產生器方法(Query builder)三種語法

ADO.NET Entity入門的程式 #4(自己動手寫)--資料新增、刪除、修改(ObkectContext的 .SaveChange()方法)

 

Ch. 16

   
補充範例:(文章最後,有新版本的範例讓您下載)

[習題]下集(ASP.NET專題實務 II) -- Ch 16. Dynamic Data網站 for VS 2010

Ch. 17

 

微軟已經改名為「WCF Data Service」

中文為「WCF資料服務」

 

原本 ADO.NET Data Service,微軟已經改名為「WCF Data Service」,中文為「WCF資料服務」

P.17-9 第一段文字的開頭,「如......」 應修正為「如......」。
P.17-10,「Name -- 型別:System.String」所謂「實體集名稱」。 在此補充說明一下。 補充說明:

P.17-10,「Name -- 型別:System.String」所謂「實體集名稱」,就是EDM裡面的資料表名稱。資料表在EDM裡面,被稱為「實體」。

補充範例:(文章最後,有新版本的範例讓您下載)

[下集]Ch 17補充文章,從 Web瀏覽器存取 WCF資料服務 / WCF Data Services (附:PDF與範例下載)

您也可以參閱 WCF服務,可以說是第八章 Web Service的增強版!

WCF 新手入門 #1 -- 觀念 與 好文推薦

WCF 新手入門 #2 -- 撰寫第一個 WCF程式

WCF 新手入門 #3 -- 撰寫Client端程式,引用WCF

 

Ch. 18

   
P. 18-50 上面的第三段文字「適合改用MVC進行開發的人」 前面不應該有段落符號。
補充範例:(文章最後,有新版本的範例讓您下載)

實戰ASP.NET MVC #4,將範例修改成MVC 2.0版 (Only for VS 2010 / 下集 補充習題)

實戰ASP.NET MVC 2.0 #5,刪除一筆記錄

附錄

PDF電子書

附錄A   P. A-23  Connection的屬性表格裡面,pid是錯的。 應該修正為「pwd

謝謝 展宇網友的提醒。

ADO.NET  附錄A、附錄B的範例補充:

光碟裡面的範例----網站內部的搜尋引擎

補充範例 --

 

 

以下範例比書本光碟還要,都是用 VS 2010重新改寫過的:

C#版範例下載:

[下載]下集--ASP.NET專題實務II (C#範例 1-11 章)與後續補充範例

[下載]下集--ASP.NET專題實務II (C#範例 12-18 章)

 

VB版範例下載:

http://www.dotblogs.com.tw/mis2000lab/archive/2010/12/22/download_vb_sample_vs2010.aspx

 

補充範例與習題:

 

我會不定期補充與更新(讀者服務&後續補充

 

 

倘若讀者發現書中的錯誤與疏漏,歡迎您寫信通知我:

mis2000lab  (at) yahoo.com.台灣

註: 為了避免廣告信的騷擾,上述 E-Mail需稍做修正。 (at)就是 @的意思

 

==========================================================================
 

感謝各位讀者的支持,下集(第一版,白皮書)2010年熱銷四刷。 
 

2011年,第二版隆重上市(黑皮書,內含 VB / C#雙語法)

範例更多!頁數增加66%,厚達936頁。
 


 


 

[團 購] 上/下兩集 (ASP.NET 4.0 專題實務 ), 保證最低價(含郵)
 

http://www.dotblogs.com.tw/mis2000lab/archive/2010/02/08/13523.aspx

 
 

 

 

 

 

我將思想傳授他人, 他人之所得,亦無損於我之所有;

猶如一人以我的燭火點燭,光亮與他同在,我卻不因此身處黑暗。----Thomas Jefferson

線上課程,遠距教學 (Web Form 49hr)  https://dotblogs.com.tw/mis2000lab/2016/02/01/aspnet_online_learning_distance_education_VS2015

線上課程,遠距教學 (ASP.NET MVC 75hr)  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小時...... 第一天(5.5小時)完整內容,"免費"讓您評估