上一節 ,我們簡單介紹了ASP+的配製環境,我們這一節來談談ASP+的文法.其實當你裝好NGWS後,他所帶的文檔是最好的學習ASP+的教程,要你E文足夠好,以及很好的耐性,學習ASP+不是難事啦.我們這些傢伙也是從這裡學了很多的,這篇關於ASP+文法的文章,大多數也來自於M$的原文,最可惜的就是我們的伺服器不能裝上NGWS,有些例子,大家不能看到執行結果,不太好。不過有些地方,我會把執行結果顯示出來的。我們開始這一節吧:) 一個ASP+頁面的尾碼名是".ASPX".它能夠包含八種不同的文法標置元素.我們將在這篇文章中介紹這幾種不同的文法,並且舉出一個例子來顯示它的用法。
< % %> 與 < %= %>
用過asp嗎,用過,那麼大家就不會對這個標籤陌生了。呵呵,下面是一個簡單的例子。他執行後的結果我想我不寫不出來,大家也都知道啦。這個就不多談了,呵呵.
< % for (int i=0; i<8; i++)
{
%>
Hello World!
< % } %>
上面的例子中< % %>之間的程式將會被執行,並顯示出的結果,< %="Hello World" %>就等於< % Response.Write ("Hello World") %>
注意:在C#中,是以分號(;)做為分隔字元,但是我們要注意一些事情。
C# code
< % Response.Write("Hello World"); %> 這裡的分號是必須的
< %="Hello World"; %> 這樣寫會有一些小問題就是,顯示的結果是 "Response.Write("Hello World";);"
正確
聲明代碼的文法: < % ... number = subtract(number, 1); ... %>
重要問題:ASP+不像ASP,在ASP中所能的函數得在地區中聲明,但是在ASP+中所有函數和變數都必須在地區中聲明。否則,aspx編譯時間會出現錯誤.
ASP+ 伺服器端控制項文法
伺服器上的控制項使用開發人員能夠動態產生HTML頁面,並發送給客戶(如Netscape和IE所產生的javascript是不同的。還有普通瀏覽器和WAP瀏覽所收到的頁面也是不同的).他們對象的聲明也是運用了標籤。但是他們和其它的標籤是不同的。因為他們包含有一個"runat=server"屬性。(呵呵,這個屬性我們在ASP中也用過,不過功能就...)。下面的例子示範了控制項的使用方法。
< html>
< script language="C#" runat=server>
void Page_Load(Object sender, EventArgs e) {
Message.Text = "Welcome to ASP+";
}
< /script>
< body>
< asp:label id="Message" font-size=24 runat=server/>
< /body>
< /html>
上面的原始碼中我們加入ID為 "Message":
< asp:label id="Message" font-size=24 runat="server"/>
看了上面的代碼,是不是發現我們在寫VB程式,呵呵,先搭好骨架,然後再一個個的去編寫他們事件處理。這就是M$給我們的新概念.
ASP+ Html 伺服器控制項文法
HTML伺服器控制項,使開發人員程式化的操作HTML元素。一個HTML伺服器控制項只是比普通HTML元素多了一個"runat=server"屬性。下面的例子具體示範了HTML服務控制項的用法。
< script language="C#" runat=server>
void Page_Load(Object sender, EventArgs e) {
Message.InnerHtml = "Welcome to ASP+";
}
< /script>
...
< span id="Message" style="font-size:24" runat=server/>
他執行的結果和第一個程式的結果是一樣的 資料捆綁(Databinding)文法 < %# %>
資料捆綁技術使得ASP+開發人員能夠很形像地把控制項的屬性與資料容器的值聯絡起來.在 < %#%>這個地區內的代碼只有在"DataBind"方法調用後才會被執行。下面的例子就示範了它的用法。
Here is a value:
通過這種方法使得名為"MyList"的控制項程式化,這時就該調用DataBind()方法了。
void Page_Load(Object sender, EventArgs e)
{ ArrayList items = new ArrayList();
items.Add("One");
items.Add("Two");
items.Add("Three");
MyList.DataSource = items;
MyList.DataBind();
}
Object標籤文法: < object runat="server" />
Object標籤文法使得開發人員能夠使用就基本的標籤就能聲明和樣本一個對象。如下:
< object id="items" class="System.Collections.ArrayList" runat="server"/>
這個對象會在運行時自動建立,而且名字為items
void Page_Load(Object sender, EventArgs e) {
items.Add("One");
items.Add("Two");
items.Add("Three");
...
}
注釋文法:
注釋能使開發人員阻止代碼(包括控制項)的執行或引用。下面的例子示範了這個文法的應用.
<%--
< asp:calendar id="MyCal" runat=server/>
< % for (int i=0; i<45; i++) { %>
Hello World
< % } %>
--%>
SSI 文法: <-- #Include File="Locaton.inc" -->
寫過最基本的HTML的兄弟對他不會陌生,所以也不想多講啦:)
< !-- #Include File="Header.inc" -->
...
< !-- #Include File="Footer.inc" -->
下面的一節,我們將來具體看看HTML控制項和使用者控制項