[勘誤表] ASP.NET <big>4.0</big>專題實務 I -- 使用<big>C#</big>,松崗出版 2012/11/19

摘要:[勘誤表] ASP.NET 4.0專題實務 I -- 使用C# (松崗出版)
本文的勘誤表,不定期更新。





 

 

 

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

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

 

這裏是 C#版的書本勘誤,

VB版請到 --  [勘誤表] ASP.NET 4.0專題實務 I -- 入門實戰篇 (VB)

 

更新日期:  2012/11/19      ASP.NET 4.0 專題實務(I)_C#

檔案下載:https://skydrive.live.com/?cid=6F7F668080F24B20&id=6F7F668080F24B20%21115#cid=6F7F668080F24B20&id=6F7F668080F24B20%21115

(無法下載的話  請 E-Mail 聯絡我)

 


 

章節

    錯    誤

    更    正

 

如何使用本書的範例?......[給初學者的話]學習心態的調整 (書本導讀)

 

Ch. 1

   
   

Ch. 2

本章的「Windows From」是錯字 應修正為 windows Form

謝謝網友 f7110820來信指正。

P. 2-4 本頁的兩支程式,檔名有錯。
    1.aspx與 1_1.aspx。
應修正為 1_InlineCode.aspx
             
1_InlineCode_2.aspx

----謝謝讀者 國民提醒。

P. 2-8 第一張圖片的說明,「....畫面下方....」 應修正為「....畫面左側....」

----謝謝讀者 minying / 宇傑提醒。

P. 2-10上方第三段文字「各位可以比較一下上下兩張圖片」

應修正為「各位可以比較一下下面兩張圖片」

P. 2-19 上方寫錯字,誤植為「VB.NET語法」

下方程式碼 int = 15;

上方應修正為 C#語法

下方應修正為  int a = 15;

----謝謝讀者 minying /國民提醒。

P. 2-20 上方程式碼 int = 15; 應修正為  int a = 15;

----謝謝讀者 國民提醒。

P. 2-21頁面上方的第二列文字 ?my_number=15

下方的兩張圖片文字解說,也需修正。尤其是Request("my_number") 。誤植為 VB語法

應該修正為 u_number才正確。請參閱程式碼與圖片裏面的內容。

Request("my_number")需要修正為 (C#語法) Request["u_number"]

P. 2-22文章中的 my_number均需修正

需要修正為 u_number

P. 2-24(2-4-4小節)上方的方塊文字 my_number需修正

需要修正為 u_number

P. 2-25 標題 2-5 Select...Case判別式 需要修正為 switch判別式。
Switch底下的選項 case,請使用小寫英文。

謝謝網友 minying的提醒

P. 2-26 上方的第二段文字 my_number需修正

需要修正為 u_number

P. 2-28頁第一段程式碼下第三行粗體字部份
如果您不會靈活地運用這個「&」符號......
需要修正為 「+」符號。

謝謝網友 王日新的提醒

P. 2-29 最下方的程式碼, int i = 0;

需要修正為 int i = 1;

......以上的勘誤,均謝謝網友 soldier6kimo的提醒

   
補充範例 --

Ch. 3

P. 3-20頁面上方的程式碼,誤植為VB語法

請參閱光碟內的範例,修正為C#語法。
VB語法不變,C#語法只需最後加上「分號(;)」作為結尾即可。

Ch.3-4節的補充說明 [補充與勘誤] Button控制項的 CommandName屬性、CommandArgument屬性
P. 3-60頁的程式(本書 3-8-4節)

    兩個ListBox的子選項,互相移動(只能單選)

程式裡面,for迴圈中的 if判別式,有一個邏輯的錯誤。請看下面文章來修正:

http://www.dotblogs.com.tw/mis2000lab/archive/2008/12/01/listbox.item_add_remove.aspx

這個範例 2008/12月公開以來,一直沒找到這個錯誤,特別謝謝網友 阿源的來信指正。

2012/2/13補充:
[習題]動態新增 DropDownList或 ListBox底下的新項目(Item)#5 [左右搬移](複選)

詳見: [習題]動態新增 DropDownList或 ListBox底下的新項目(Item)#2 [左右搬移](單選 / 複選)簡單版

P. 3-58頁上方的程式碼

   ListBox1.DataSource = dr 
   ListBox1.DataBind() 

C#程式碼最後應該加上「分號(;)」作為結尾 。

   ListBox1.DataSource = dr;
   ListBox1.DataBind();

P. 3-78頁 / 3-79頁 的範例 --  CheckBoxList_1.asp.vb 兩個 if判別式需修正如下(紅字):

Label1.Text = "";
for(int i = 0; i < CheckBoxList1.Items.Count; i++)
{
  if (CheckBoxList1.Items[i].Selected)
  {
      if (CheckBoxList1.Items[i].Value != "0") {
            Label1.Text
+= "<font color=darkgreen>答對!</font>";
            u_summary += Convert.ToInt32(Left(CheckBoxList1.Items[i].Value, 1));
      }
      else {
            Label1.Text += "<font color=red>有錯誤喔~</font>";
      }
  }
}
//-----------------------------------------------------------------------
Label2.Text = "";
for (int j = 0; j<CheckBoxList2.Items.Count; j++)
{
  if (CheckBoxList2.Items[j].Selected)
  {
      if (CheckBoxList2.Items[j].Value != "0") {
            Label2.Text
+= "<font color=darkgreen>答對!</font>";
            u_summary += Convert.ToInt32(Left(CheckBoxList2.Items[j].Value, 1));
      }
      else {
            Label2.Text += "<font color=red>有錯誤喔~</font>";
      }
  }
}

P.3-93 書本上與光碟裏面的程式。範例 11_Page.aspx

 protected void Button1_Click(object sender, EventArgs e)
{
Button Button1 = new Button();
Button1.Text = "程式裡頭,動態產生的按鈕";
Page.Form.Controls.Add(TextBox1);


TextBox TextBox1 = new TextBox();
TextBox1.Text = "程式裡頭,動態產生的文字輸入方塊";
Page.Form.Controls.Add(TextBox1);

}

 

P.3-93 書本上與光碟裏面的程式。範例 11_Page.aspx應修正為

 protected void Button1_Click(object sender, EventArgs e)
{
Button Button1 = new Button();
Button1.Text = "程式裡頭,動態產生的按鈕";
Page.Form.Controls.Add(Button1);


TextBox TextBox1 = new TextBox();
TextBox1.Text = "程式裡頭,動態產生的文字輸入方塊";
Page.Form.Controls.Add(TextBox1);

}

----謝謝讀者 Liu Ray提醒。

P. 3-94 書本上與光碟裏面的程式

漏了一段TextBox1.ID = "TextBox_DynaAdd";」。

共有三支程式的後置程式碼:

  • 11_FindControl_0_Error.aspx

  • 11_FindControl_1.aspx

  • 11_FindControl_2.aspx

P. 3-94 頁起的連續三支程式都需修正如下:

    TextBox TextBox1 = new TextBox();
   TextBox1.ID = "TextBox_DynaAdd";   //重點!!
    TextBox1.Text = "程式裏頭,動態產生的文字輸入方塊";
    PlaceHolder1.Controls.Add(TextBox1);

......以上的勘誤,感謝 智閔網友的提醒 / 感謝 Sayran網友提醒

修正後的範例,在這篇文章的最後可下載 。

提供 Ch. 3-12節的最後,新的補充範例:[習題].FindControl()方法 與 PlaceHolder控制項 #2(動態加入「子控制項」的事件)

Ch 3-13節 (P. 3-97頁)的範例 AD.xml <NavigateUrl>http://www.taconet.com.tw/mis2000lab/</NavigateUrl>
標籤之間,裏面不要有空白。

謝謝讀者--宇傑來信提醒。

P. 3-100頁的範例 12_1.asp.cs e.NavigateUrl = "http://www.taconet.com.tw/mis2000lab/"     ,網址 URL裏面不要有空白。

謝謝讀者--宇傑來信提醒。

補充範例 --

[習題]念念不忘的「按下Enter」送出,Form表單的 DefaultButton屬性

[習題]ASP.NET製作網頁版的[小]計算機 #2 -- Button_Click事件裡面的 參數 sender

[修練營 ASP.NET]如何執行一段javascript(連結外站)

 

(using Microsoft.VisualBasic)

新增的章節&範例 --

Ch. 4

   

補充範例 --

Ch. 5

   
補充範例 --  

Ch. 6

P.6-25頁,誤植 VB語法的範例 請參閱光碟範例。

謝謝 網友 chen hui ming的提醒。

P. 6-29頁上方的程式碼方塊裏面,最後一段文字「要特別提醒大家的是:」

這一段文字「要特別提醒大家的是:」,應該放在方塊以外。

補充範例 ----  

Ch. 7

   
 

Ch. 8

   
補充範例--

Ch. 9

   

補充範例--

Ch. 10

Ch. 10-3-2小節的補充範例 Ch.10-3-2 .FindControl()方法的補充範例 -- ASP.NET 專題實務(上集 )
P.10-27頁  (Ch. 10-4-4節)範例有誤,請由此下載最新版本。 請下載最新版本:http://www.dotblogs.com.tw/mis2000lab/archive/2009/12/22/12610.aspx

觀念解析 --

HOW TO:存取 Web 伺服器控制項命名空間的成員
How to: Access Members of a Control's Naming Container

http://msdn.microsoft.com/zh-tw/library/858twd77(v=vs.100).aspx

[ASP.NET] GridView.Rows 與 e.Row.RowIndex 千萬不要混用
http://itgroup.blueshop.com.tw/cwvdavid/pg?n=convew&i=321427

 

修正: [勘誤]上集第十章 完全手寫 GridView各種功能 (DataSet版),方法A 謝謝讀者 aporuevolej的指正。

 

補充範例--

 

Ch. 11

P. 11-3  中間的程式區塊,
    GridView1.AllowPaging = false;
    GridView .DataBind(); 
應修正為:
  GridView1.AllowPaging = false;
  GridView
1.DataBind(); 
Ch. 11-3  GridView樣版,內嵌其他控制項

Ch. 11-3-2節 ~ Ch. 11-3-4節的範例,通通不可以作「分頁」

Ch. 11-3  GridView樣版,內嵌其他控制項

原本這幾節的範例,是來自:http://www.dotblogs.com.tw/mis2000lab/archive/2008/12/26/gridview_template_radiobuttonlist_1225.aspx

您可以下載這個範例,便具備了「分頁功能」。謝謝中國內地的網友 Derek的討論與提醒,在此提供可以分頁的(手寫程式)版本,請下載(VB / C#) ----  Book_1_Ch11_3.4.rar

「補充」多個關連式資料表,如何透過精靈設定完成?

[習題]GridView樣版內部,改用CheckBox/Radio/DropDownList(單/複選)控制項,取代TextBox #2 -- 關連式資料表

Ch. 11-3-4 節
Ch. 11-5節  補充範例
練習這些範例之前,您需要這些入門練習,會更好上手!
    GridView的 RowDataBound與 RowCreated事件,基礎入門練習
Ch. 11-4-2 節  在後置程式碼,加入使用者控制項  .ASPX檔的畫面上方,需要加上 <%@ Register....這一段。

書上忘記用刪除符號了。請把這一段用筆刪除掉,我當初故意留著要加上刪除號,是要加強讀者的印象,但沒想到排版漏了。光碟裡面的範例,則正確無誤。

謝謝 網友 jack hao的提醒。

補充範例 --

補充: GridView.Controls[0]是什麼意思?......大腸包小腸、GridView自訂表頭都會用到這一段。 謝謝讀者 aporuevolej的指正。

 

 

 

Ch. 12

補充 Ch. 12-14節(新增一個範例) 請看:
[習題]Repeater搭配 HyperLink控制項(繫結運算式 / DataBinding Expression)

補充範例 --

Ch. 13

   

P. 13-8 最後一段 Oracle的 .NET 資料提供者

System.Data.OracleClient 未來不再更新與改善

請看微軟官方宣告 (15 Jun 2009 2:59 PM ):http://blogs.msdn.com/b/adonet/archive/2009/06/15/system-data-oracleclient-update.aspx

P. 13-19  Connection的屬性表格裏面,pid是錯的。 應該修正為「pwd

謝謝 展宇網友的提醒。

P. 13-26頁(章節 13-6-3)表格中的 .ExecuteNonQuery()後面的文字「INSERT、DELELE、UPDATE」 應該修正為「DELETE

謝謝 冠兆網友的提醒。

補充範例--

Ch. 14

P.14-24頁 只是簡單的DataReade範例複製過來 應修正為「只是簡單的DataReader範例複製過來」。

謝謝網友 郝德惠來信指正。

p.14.24下面的程式碼中:

//-----上面已經事先寫好 Imports System.Web.Configuration ---

應修正為「//-----上面已經事先寫好 using System.Web.Configuration ---」。

謝謝網友 郝德惠來信指正。

P. 14-46 頁面上方,第一段文字的最後一列「在中毒或是接處廣告網站......」

應修改為「在中毒或是接觸廣告網站......」

P.15-41頁,書本上的範例(Default_3_DataSet_All_Manual.aspx)「中間的白色框框」漏了一些程式碼,請依照光碟範例的電子檔為準。

DataTable myTable = ds.Tables["test"];

P.15-41頁,書本上的範例(Default_3_DataSet_All_Manual.aspx)「中間的白色框框」漏了一些程式碼,請依照光碟範例的電子檔為準。

漏了下面紅字的部分:

  myAdapter = new SqlDataAdapter("select id,test_time,title,author from test", Conn);
  DataSet ds = new DataSet();
  myAdapter.Fill(ds, "test");

  DataTable myTable = ds.Tables["test"];

謝謝網友 郝德惠來信指正。

補充範例 --

 

 

 

 

 

 

Ch. 15

   
補充範例 -- 修正:[勘誤]上集 Ch.15 -- 跨網頁張貼(Cross-Page Posting),微軟稱為「跨網頁公布」

 

Ch. 16

   
補充範例 --

Ch. 17

   

補充範例 --

Ch. 18

   

P. 18-30頁面上方第 一個方塊的程式碼「Page.FindControl()」或是「Page.Form.FindControl()」

修改成「this.FindControl()」會更好,可以用在UC(使用者控制項)上面。

補充範例 --

 

Ch. 19

   

補充範例 -- C#版的書籍已經納入本範例

請在 Ch 19-5之後,參閱這個範例。  完成後再來閱讀 Ch 19-6

 

Ch. 20

光碟裏面的範例----網站內部的搜尋引擎  
補充範例 --

 

如何使用本書的範例?......[給初學者的話]學習心態的調整 (書本導讀)

 

檔案下載:https://skydrive.live.com/?cid=6F7F668080F24B20&id=6F7F668080F24B20%21115#cid=6F7F668080F24B20&id=6F7F668080F24B20%21115

(無法下載的話  請 E-Mail 聯絡我)

 

 

 

補充範例與習題:

 

本書「下集」的勘誤表 ----  [勘誤表]ASP.NET 4.0專題實務 II -- 範例應用與新功能(第二版 黑皮書,松崗出版)

 

 

 

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

ASP.NET 4.0 專題實務(I)_C#

 

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

mis2000lab  (at) yahoo.com.臺灣

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

 

 

 

 

 

 

 

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

猶如一人以我的燭火點燭,光亮與他同在,我卻不因此身處黑暗。----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小時)完整內容,"免費"讓您評估