上次講了一些有關(guān)ASP + 服務(wù)器端控制的內(nèi)容,現(xiàn)在來(lái)詳細(xì)講一下。Asp + 服務(wù)器端控制是微軟新提出的概念,它的實(shí)現(xiàn)是基于微軟的.NET框架,它實(shí)際上是一種特殊的HTML元素,服務(wù)器端與它是交互的關(guān)系,在生成這些元素后不但能接受它們的值,還可以動(dòng)態(tài)控制它們,以完成一些很COOL的功能。下面列出所有ASP + 目前支持的所有28個(gè)服務(wù)器端控制及其具體用法。
1、Adrotator : 廣告輪換服務(wù)器端控制,它的具體行為是在指定的XML文件里定義的,如下:
<Advertisements> <Ad> <ImageUrl>/quickstart/aspplus/images/banner1.gif</ImageUrl> <NavigateUrl>http://www.microsoft.com</NavigateUrl> <AlternateText>Microsoft.com</AlternateText> <Keyword>Computers</Keyword> <Impressions>80</Impressions> </Ad> </Advertisements>
屬性的含義: <ImageUrl>:要顯示得圖片絕對(duì)或相對(duì)路徑。 <NavigateUrl>:點(diǎn)擊圖片所指向的URL,如果為空則圖片不能被點(diǎn)擊。 <AlternateText>:鼠標(biāo)移動(dòng)到圖片上所顯示的提示信息。 <Keyword>:指定改廣告頁(yè)面的過(guò)濾關(guān)鍵字。 <Impressions>:該廣告的顯示百分比,這個(gè)數(shù)值越高,顯示的次數(shù)越多。
2、button: 這個(gè)好理解,類(lèi)似于傳統(tǒng)表單中的Button,但用法稍有不同,具體用法我就不祥述了。
3、Calendar: 一個(gè)很方便的日歷控制,這樣就不用再用javascript費(fèi)勁編了,還得計(jì)算閏年什么的,要多煩有多煩,看下面的例子:
<html> <head>
<script language="C#" runat="server">
void Date_Selected(object s, EventArgs e) { Label1.Text = "Selected date is: " + Calendar1.SelectedDate.ToShortDateString(); }
</script>
</head>
<body>
<h3><font face="Verdana">Calendar Example</font></h3>
<form runat=server>
<asp:Calendar id=Calendar1 onselectionchanged="Date_Selected" runat="server" />
<p>
<asp:Label id=Label1 runat="server" />
</form>
</body> </html>
這個(gè)控制帶有一個(gè)屬性SelectionMode,它的具體屬性值如下: Day :可以選擇任意一個(gè)單獨(dú)的日子。 DayWeek:可以選擇一天或一個(gè)星期。 DayWeekMonth: 可以選擇一天或一個(gè)星期或一個(gè)月。 None:不能選擇日期。
4、CheckBox :檢查框嘛,沒(méi)什么好說(shuō)的,但有一點(diǎn)不同,那就是如果它的AutoPostBack屬性設(shè)為真,則點(diǎn)選它時(shí)可以提交到服務(wù)器端。
5、CheckBoxList : 顧名思義,一組可多選的檢查框列表,它有兩個(gè)重要的屬性,RepeatLayout和RepeatDirection,控制這個(gè)列表的布局,設(shè)成table則該列表以表格為底,如果設(shè)成flow,則沒(méi)有表格,RepeatDirection默認(rèn)為vertical,垂直排列,如果設(shè)為horizontally,則水平排列。
6、CompareValidator :進(jìn)行兩個(gè)服務(wù)器端控制的比較。它有三個(gè)不能缺少的重要屬性:ControlToValidate , ControlToCompare 決定要比較那些控制,Operator決定比較的方式,是等于、不等于、大于、小于等。具體實(shí)現(xiàn)看下面的例子:
CompareValidator1.aspx
<%@ Page clienttarget=downlevel %>
<html> <head> <script language="C#" runat="server">
void Button1_OnSubmit(Object sender, EventArgs e) {
if (Page.IsValid) { lblOutput.Text = "Result: Valid!"; } else { lblOutput.Text = "Result: Not valid!"; } }
void lstOperator_SelectedIndexChanged(Object sender, EventArgs e) {
comp1.Operator = (ValidationCompareOperator) lstOperator.SelectedIndex; comp1.Validate(); }
</script>
</head> <body>
<h3><font face="Verdana">CompareValidator Example</font></h3> <p>Type a value in each textbox, select a comparison operator, then click "Validate" to test.</p>
<form runat=server>
<table bgcolor="#eeeeee" cellpadding=10> <tr valign="top"> <td> <h5><font face="Verdana">String 1:</font></h5> <asp:TextBox Selected id="txtComp" runat="server"></asp:TextBox> </td> <td> <h5><font face="Verdana">Comparison Operator:</font></h5>
<asp:ListBox id="lstOperator" OnSelectedIndexChanged="lstOperator_SelectedIndexChanged" runat="server"> <asp:ListItem Selected Value="Equal" >Equal</asp:ListItem> <asp:ListItem Value="NotEqual" >NotEqual</asp:ListItem> <asp:ListItem Value="GreaterThan" >GreaterThan</asp:ListItem> <asp:ListItem Value="GreaterThanEqual" >GreaterThanEqual</asp:ListItem> <asp:ListItem Value="LessThan" >LessThan</asp:ListItem> <asp:ListItem Value="LessThanEqual" >LessThanEqual</asp:ListItem> </asp:ListBox> </td> <td> <h5><font face="Verdana">String 2:</font></h5> <asp:TextBox id="txtCompTo" runat="server"></asp:TextBox><p> <asp:Button runat=server Text="Validate" ID="Button1" onclick="Button1_OnSubmit" /> </td> </tr>
<asp:CompareValidator id="comp1" ControlToValidate="txtComp" ControlToCompare = "txtCompTo" Type="String" runat="server"/>
<br>
<asp:Label ID="lblOutput" Font-Name="verdana" Font-Size="10pt" runat="server"/>
</form>
</body> </html>
7、CustomValidator:自定義比較,作用就是可以進(jìn)行上述基本比較不能完成的比較操作。這個(gè)比較可以運(yùn)行在服務(wù)器端,也可以運(yùn)行在客戶(hù)端,如用vbscript或javascript。用法很簡(jiǎn)單,看例子吧。
CustomValidator1.aspx
<html> <head> <script language="C#" runat=server>
void ValidateBtn_OnClick(object sender, EventArgs e) { if (Page.IsValid) { lblOutput.Text = "Page is valid!"; } else { lblOutput.Text = "Page is not valid! :-("; } }
bool ServerValidate (object source, string value) {
int num = Int32.FromString(value);
if (num%2 == 0) return true; else return false; }
</script>
</head> <body>
<h3><font face="Verdana">CustomValidator Example</font></h3>
<form runat="server">
<asp:Label id=lblOutput runat="server" Text="Enter an even number:" Font-Name="Verdana" Font-Size="10pt" /><br>
<p>
<asp:TextBox id=Text1 runat="server" />
<asp:CustomValidator id="CustomValidator1" runat="server" ControlToValidate="Text1" OnServerValidationFunction="ServerValidate" Display="Static" Font-Name="verdana" Font-Size="10pt"> Not an even number! </asp:CustomValidator>
<p>
<asp:Button text="Validate" onclick="ValidateBtn_OnClick" runat="server" />
</form>
</body> </htm
|
溫馨提示:喜歡本站的話(huà),請(qǐng)收藏一下本站!