針對「上集」的 Ch 2-1節(大約是 2-4頁),作的補充說明
Inline Code 與 Code Behind的小補充
非常謝謝一位讀者 國民兄來信指教,
針對本書「上集」的第二章。
我可能畫蛇添足,但又解釋不清。可能會誤導讀者。
以下是我針對「上集」的 Ch 2-1節(大約是 2-4頁),作的補充說明:
書本的勘誤表在此!
第一,除非是特殊狀況,不然在 Visual Studio開發 ASP.NET網站程式的時候,
比較少用到 Inline Code了。
把程式、HTML碼混合寫在同一個檔案內,
是以前的 ASP / PHP / JSP,或是 ASP.NET MVC的 View畫面比較會這樣做。
如果您使用 VB語法。寫這樣即可,畫面會出現 Hello! The World。
<% Response.Write("Hello! The World") %>
如果您使用 C#語法,則需要在 .aspx檔案的第一列,註明您採用 C#語法。
<%@ Page Language="C#" %>
<% Response.Write("Hello! The World"); %>
如果您不註明的話,預設會採用VB語法來編譯。
VB語法的結尾,不需要使用「分號(;)」。
<% Response.Write("Hello! The World") %>
ASP.NET的 Response.Write務必加上( ),不然會算錯。
但以前ASP則無所謂,加不加都可以。
正確寫法(VB):
<% Response.Write("Hello! The World") %>
正確寫法(C#):
<%@ Page Language="C#" %>
<% Response.Write("Hello! The World"); %>
下面會發生錯誤。
因為沒有加上 (),必須加上 ( ) 才對!
<% Response.Write "Hello! The World" %>
另外,還有一點。
如果您採用 = 來代替 Response.Write的話,
不管您是使用 VB或是 C#語法,
程式最後都不要加上「分號(;)」。也不要加上 ()符號。
<% = "Hello! The World" %>
第二,Code Behind。把程式、HTML畫面兩者區分為不同的檔案。
HTML畫面,寫在 .aspx檔裡面。
程式則寫在 .aspx.vb檔案(VB語法)、 .aspx.cs檔案(C#語法)
透過 Visual Studio開發工作來作,很簡單。在此不贅述。
上述的小小程式,通常會寫在 Page_Load事件裡面。
VB語法:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
'--註解:這是我的第一支ASP.NET程式
Response.Write("Hello!The World")
End Sub
C#語法:
protected void Page_Load(object sender, EventArgs e)
{
//註解:這是我的第一支ASP.NET程式
Response.Write("Hello!The World");
}
結 論:
最好還是透過 Visual Studio開發工作來作,
不然的話,很容易少了 ( )或是忘了哪個字,而造成程式常出錯。
例如: Response.End 會出錯。
Response.End() 才是正確。
有 VS開發工具幫您把關,提醒您、或是自動跳出關鍵字讓您選擇。
就會方便很多。
找不到正式版本的 Visual Studio的話,微軟有提供 90天試用版。(ISO檔可以下載,然後燒錄成DVD)
另外,作得越來越棒的 Express版也是很好的「免費」選擇。 例如:VWD 2010 Express(開發 ASP.NET網頁用的)
之前也寫過類似的說明,請看:
單一檔案(Inline Code)與後置程式碼(Code Behind) - MIS2000 Lab ...
以下是兩篇相關的文章:
難度略高,是一個 ADO.NET DataReader的小範例,用來「從資料庫撈取資料」「查詢資料(SQL指令中,搭配 Select陳述句)」
[ADO.NET] DataReader的「Inline Code」範例 for ASP.NET ...
[ADO.NET] DataReader的標準範例 for ASP.NET (Code Behind版) ...
=== 最後要打一下廣告 ==========================
1. 如果您覺得我的描述、寫作方式,符合您的胃口。
2. 如果您看完以後,知道我寫書、介紹一些控制項或是技術........不是「混過去」、「帶過去」而已,而是真真確確地蒐集 "有用的範例",讓您學得更深入!
3. 如果您覺得:我出完書以後,還不定期地提供售後服務,提供補充教材......這樣的互動是 "良性"的,是值得鼓勵的。......已經推出 兩百多篇 補充範例了
4. 如果您(尤其是學生)真的想把基礎學好,而不是 "混"過這一門課就好、而不是寫個(畢業專題的)屍體出來交差(能畢業就好).....那麼.......
請您購買下面的書籍,
東西多到您學不完
上 / 下兩集,兩本書的厚度(我蒐集的各種範例)將近 兩千頁 !!......絕對不會讓您失望
我將思想傳授他人, 他人之所得,亦無損於我之所有;
猶如一人以我的燭火點燭,光亮與他同在,我卻不因此身處黑暗。----Thomas Jefferson
線上課程教學,遠距教學 (Web Form 約 51hr) https://dotblogs.com.tw/mis2000lab/2016/02/01/aspnet_online_learning_distance_education_VS2015
線上課程教學,遠距教學 (ASP.NET MVC 約 140hr) https://dotblogs.com.tw/mis2000lab/2018/08/14/ASPnet_MVC_Online_Learning_MIS2000Lab
寫信給我,不要私訊 -- mis2000lab (at) yahoo.com.tw 或 school (at) mis2000lab.net
(1) 第一天 ASP.NET MVC5 完整影片(5.5小時 / .NET 4.x版)免費試聽。影片 https://youtu.be/9spaHik87-A
(2) 第一天 ASP.NET Core MVC 完整影片(3小時 / .NET Core 6.0~8.0)免費試聽。影片 https://youtu.be/TSmwpT-Bx4I
[學員感言] mis2000lab課程評價 - ASP.NET MVC , WebForm 。 https://mis2000lab.medium.com/%E5%AD%B8%E5%93%A1%E6%84%9F%E8%A8%80-mis2000lab%E8%AA%B2%E7%A8%8B%E8%A9%95%E5%83%B9-asp-net-mvc-webform-77903ce9680b
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 MVC => .NET Core MVC 線上教學 ...... 第一天課程 完整內容 "免費"讓您評估 / 試聽
[遠距教學、教學影片] ASP.NET (Web Form) 課程 上線了!MIS2000Lab.主講 事先錄好的影片,並非上課側錄! 觀看時,有如「一對一」面對面講課。