Inline Code 與 Code Behind的小補充 -- Response.Write()

針對「上集」的 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 約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小時)完整內容,"免費"讓您評估