明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

親密接觸ASP+(2)

[摘要]作者:http://www.aspcn.com 飛刀 上一節(jié) ,我們簡單介紹了ASP+的配制環(huán)境,我們這一節(jié)來談?wù)凙SP+的語法.其實當你裝好NGWS后,他所帶的文檔是最好的學(xué)習(xí)ASP+的教程,要你...
作者:http://www.aspcn.com 飛刀

上一節(jié) ,我們簡單介紹了ASP+的配制環(huán)境,我們這一節(jié)來談?wù)凙SP+的語法.其實當你裝好NGWS后,他所帶的文檔是最好的學(xué)習(xí)ASP+的教程,要你E文足夠好,以及很好的耐性,學(xué)習(xí)ASP+不是難事啦.我們這些家伙也是從這里學(xué)了很多的,這篇關(guān)于ASP+語法的文章,大多數(shù)也來自于M$的原文,最可惜的就是我們的服務(wù)器不能裝上NGWS,有些例子,大家不能看到執(zhí)行結(jié)果,不太好。不過有些地方,我會把執(zhí)行結(jié)果顯示出來的。我們開始這一節(jié)吧:)

一個ASP+頁面的后綴名是".ASPX".它能夠包含八種不同的語法標置元素.我們將在這篇文章中介紹這幾種不同的語法,并且舉出一個例子來顯示它的用法。

<% %> 與 <%= %>

用過asp嗎,用過,那么大家就不會對這個標簽?zāi)吧。呵呵,下面是一個簡單的例子。他執(zhí)行后的結(jié)果我想我不寫不出來,大家也都知道啦。這個就不多談了,呵呵.

<% for (int i=0; i<8; i++)
{
%>
<font size="<%=i%>"> Hello World! </font> <br>
<% } %>

上面的例子中<% %>之間的程序?qū)粓?zhí)行,并顯示出的結(jié)果,<%="Hello World" %>就等于<% Response.Write ("Hello World") %>

注意:在C#中,是以分號(;)做為分隔符,但是我們要注意一些事情。

 

C# code
<% Response.Write("Hello World"); %> 這里的分號是必須的
<%="Hello World"; %> 這樣寫會有一些小問題就是,顯示的結(jié)果是 "Response.Write("Hello World";);"
<%="Hello World" %> 正確

聲明代碼的語法: <script runat="server">
這段代碼定義了這個區(qū)域中的代碼將會進行編繹。在下面的例子中我們演示了一個名為"Substract"方法是如何在<script runat="server">中被聲明的。

<script language="C#" runat=server>
int subtract(int num1, int num2)
{
return num1 - num2;
}
</script>

<%
...
number = subtract(number, 1);
...
%>

重要問題:ASP+不像ASP,在ASP中所能的函數(shù)得在<% %>區(qū)域中聲明,但是在ASP+中所有函數(shù)和變量都必須在<script runat=server></script>區(qū)域中聲明。否則,aspx編譯時會出現(xiàn)錯誤.

ASP+ 服務(wù)器端控件語法

服務(wù)器上的控件使用開發(fā)者能夠動態(tài)產(chǎn)生HTML頁面,并發(fā)送給客戶(如Netscape和IE所產(chǎn)生的JavaScript是不同的。還有普通瀏覽器和WAP瀏覽所收到的頁面也是不同的).他們對象的聲明也是運用了標簽。但是他們和其它的標簽是不同的。因為他們包含有一個"runat=server"屬性。(呵呵,這個屬性我們在ASP中也用過,不過功能就...)。下面的例子演示了<asp:lable runat="server">控件的使用方法。

<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"/>


看了上面的代碼,是不是發(fā)現(xiàn)我們在寫VB程序,呵呵,先搭好骨架,然后再一個個的去編寫他們事件處理。這就是M$給我們的新概念.


ASP+ Html 服務(wù)器控件語法

HTML服務(wù)器控件,使開發(fā)者程序化的操作HTML元素。一個HTML服務(wù)器控件只是比普通HTML元素多了一個"runat=server"屬性。下面的例子具體演示了HTML服務(wù)控件的用法。

<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/>

他執(zhí)行的結(jié)果和第一個程序的結(jié)果是一樣的


數(shù)據(jù)捆綁(Databinding)語法 <%# %>

數(shù)據(jù)捆綁技術(shù)使得ASP+開發(fā)者能夠很形像地把控件的屬性與數(shù)據(jù)容器的值聯(lián)系起來.在<%# %>這個區(qū)域內(nèi)的代碼只有在"DataBind"方法調(diào)用后才會被執(zhí)行。下面的例子就演示了它的用法。

<asp:datalist id="MyList" runat=server>
<template name="ItemTemplate">
Here is a value: <%# Container.DataItem %>
</template>
</asp:datalist>

通過這種方法使得名為"MyList"的控件程序化,這時就該調(diào)用DataBind()方法了。
<font color="#FF6600">
void Page_Load(Object sender, EventArgs e)<br>
{ ArrayList items = new ArrayList(); <br>
items.Add("One"); <br>
items.Add("Two");<br>
items.Add("Three");<br>
MyList.DataSource = items; <br>
MyList.DataBind(); <br>
} </font>
Object標簽語法: <object runat="server" />

Object標簽語法使得開發(fā)者能夠使用就基本的標簽就能聲明和示例一個對象。如下:

<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");
...
}


注釋語法: <%-- Comment --%>

注釋能使開發(fā)者阻止代碼(包括控件)的執(zhí)行或引用。下面的例子演示了這個語法的應(yīng)用.

<%--

<asp:calendar id="MyCal" runat=server/>
<% for (int i=0; i<45; i++) { %>
Hello World <br>
<% } %>
--%>

SSI 語法: <-- #Include File="Locaton.inc" -->

寫過最基本的HTML的兄弟對他不會陌生,所以也不想多講啦:)

<!-- #Include File="Header.inc" -->
...
<!-- #Include File="Footer.inc" -->

下面的一節(jié),我們將來具體看看HTML控件和用戶控件