WEB控制項
按照計劃我們這一節要談Web控制項,我想了半天也不知道如何定義這個web控制項,它比html控制項難於理解,畢竟HTML太像原來我們熟悉的東東了。而web控制項確與我們平常見到的有很大的出入,不知道大家還記不記得我說過的一句話,那就是ASP.net的程式就像是寫VBVC中的視窗,先再這些視窗中加入我們的需要的控制項,然後再對這些控制項進行操作。如果你學過一點點VBVC的編程,那麼理解這個就不難了,ASP.net中的web控制項就像是VBVC中的控制項一樣。我們先在頁面中擺好這些控制項,然後再通過Page_Load以及其它一些自訂事件來對他們進行控制。我們還是通過看一個執行個體來瞭解一下吧。我們先舉簡單的Label控制項吧. 原始碼如下:
<% @ Page Language="C#" %>
<% @ Import Namespace="System.Data" %>
<Script Language="C#" Runat="Server">
public void Page_Load(Object src,EventArgs e)
{
if(!Page.IsPostBack)
{
label3.Text="這是黑體字,並且帶底線";
}
}
</script>
<html>
<head>
<title>測試Label控制項</title>
</head>
<body>
<bold>測試Label控制項:<br></bold>
<asp:Label id="label1" font-size="9pt" font-bold="true" forecolor="red" runat="server">這是紅色粗體的文字</asp:Label><br>
<asp:Label id="label2" font-size="10pt" font-italic="true" forecolor="blue" runat="server" text="這是藍色斜體的文字" /><br>
<asp:Label id="label3" font-size="11pt" font-underline="true" runat="server" />
</body>
</html>
這段程式執行後的結果是
測試Label控制項:
這是紅色粗體的文字
這是藍色斜體的文字
這是黑體字,並且帶底線
看看原始碼,再看看程式執行的結果是不是發現Label控制項和VB中的Label控制項很相近:)
(註:你在你的機器上看到的中文可能是亂碼,那麼請您開啟x:\winnt\microsoft\framework\v1.0.224目錄,找到其中的config.web檔案,開啟它,找到下面的文字:
<globalization
requestencoding="iso-8859-1"
responseencoding="iso-8859-1"
/>
把其中的iso-8859-1改為gb2312,OK,再執行一下程式,中文是不是出來了:)
這裡我們用了三種方法來操作Label控制項,第一種是類似HTML的閉合標籤,將要寫的字寫在<asp:Label></asp:Label>之間;第二種是用到了Label控制項Text屬性;第三種,是通過執行Page_Load事件而把文字寫進Label控制項的。這三種方法都很有用,看你自已的喜歡了,第三種是最常用的啦,以後我們會經常用到.Label控制項不光有Text屬性來控制它的文字,而且還有font-size等屬性來控制字型大小,顏色等屬性,這裡的例子我都用到了,大家好好看看,相信沒有什麼問題
我們見過了Label控制項的操作,那麼我們對web控制項有了一個感性的認識,在ASP.net中,一共有28個WEB控制項,它們是:
AdRotator Button Calendar CheckBox
CheckBoxList CompareValidator CustomValidator DataGrid
DataList DropDownList HyperLink Image
ImageButton Label LinkButton ListBox
Panel RadioButton RadioButtonList RangeValidator
RegularExpressionValidator Repeater RequiredFieldValidator Table
TableCell TableRow TextBox ValidationSummary
大家可以到我上一節講的那個網站去具體看一下他們各自的用法,這裡我本來想主要講一下DataGrid,DataLit,ListBox但是他們其中都需要用到Binding知識(這個我們在下一節講),所以我們主要來看看DropDownList的用法(因為我們上一節是用的select來講解HTML控制項的)
先看一個例子:
<% @ Page Language="C#" %>
<% @ Import Namespace="System.Data" %>
<Script Language="C#" Runat="Server">
public void Page_Load(Object src,EventArgs e)
{
}
public void sub_click(Object sender,EventArgs e)
{
string chioce;
chioce=ddl.SelectedItem.Text;
show.Text="您選擇的是本工作室的<font color=red>"+chioce+"</font>成員";
}
</script>
<html>
<head>
<title></title>
</head>
<body>
<form runat="server">
請選擇ASPCN.Com工作室程員:<br>
<asp:DropDownList id="ddl" RunAt="server">
<asp:ListItem>飛刀</asp:ListItem>
<asp:ListItem>大風</asp:ListItem>
<asp:ListItem>Zsir</asp:ListItem>
<asp:ListItem>布丁</asp:ListItem>
<asp:ListItem>亞豪</asp:ListItem>
</asp:DropDownList>
<br>
<asp:Button id="sub" Text="提交" RunAt="Server" /><br>
<asp:Label id="show" runat="server"/>
</form>
</body>
</html>
它執行顯示為:
請選擇ASPCN.Com工作室程員:
飛刀 大風 Zsir 布丁 亞豪
如果我選中了其中的飛刀,然後再按下"提交"鍵,那麼顯示就是:
請選擇ASPCN.Com工作室程員:
飛刀 大風 Zsir 布丁 亞豪
您選擇的是本工作室的飛刀成員
DropDownList控制項,其實和select差不多,功能也就多那麼一點點,但是這個多一點點的功能就是很有用的,這就是我們下一節要學習的Bind,呵呵,是不是想學了:)不急,我們先分析一下這裡的程式。 我們用DropDownList控制項建立起一個List列表,然後我們選擇其中的一個選項,最後按提交鍵提交。這裡我們可以看到處理常式的是sub_click這個事件,這裡由名為sub的button控制項激發,所用的事件是onclick,這裡和HTML控制項所使用的OnServerClick事件是不同的,大家要分清楚。其它的好像沒有什麼可以說了。呵呵
我們下一節要講bind,這個是很重要的。