整天的泡在考研的資料裡面,閒暇時就和朋友們大談特談NGWS,一天終於被lazy兄一棍子打醒,"都什麼年代了,還在談NGWS",慌忙中趕快重新下載我心目中的"NGWS",裝上後,發現今非昔比,這個NGWS已經改名叫Micosoft .Net ,ASP+也堂而皇之的改名為ASP.Net.而且現在不僅window 2000能夠安裝調試ASP.Net了,而且連最爛的"瘟酒吧"也可以了,於是發現自已離時代越來越遠了.....(台下人:發表什麼感歎,還不快入正題)(同時,一不明飛行物突然向飛刀砸來,飛刀立刻倒在血泊中.....)
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" OnClick="sub_click" /><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,這個是很重要的。