六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

細細品味ASP.NET(4)

[摘要]Web 控件   你可能會擔心,象 <asp:TextBox>這樣的 控件 代表了一套需要你熟練運用的全新 控件 。不過,它們并不難學,因為它們在HTML中都有對應者。例如,對于一個很簡單的文本框,在HTML 中,你是這樣做的: <input type=“text” value=...
Web 控件
 
你可能會擔心,象 <asp:TextBox>這樣的 控件 代表了一套需要你熟練運用的全新 控件 。不過,它們并不難學,因為它們在HTML中都有對應者。例如,對于一個很簡單的文本框,在HTML 中,你是這樣做的:
<input type=“text” value=“Your Name”></input>
而相應的Web 控件 是這樣的:
<asp:TextBox Text=“Your Name” runat=“server” />
在這兩者中,你立刻就能注意到的是Web 控件 通過代碼“asp:”名稱空間來識別,并且同在 XML 中一樣,使用斜線來結束元素。你不是必須使用 XML 的格式,你也可以使用HTML格式,用一個分號來結束標記:</asp:TextBox>。但是你會發現, XML 格式被用在許多代碼舉例中,并且代碼字數也較簡潔。名稱空間必須要使用,它負責識別文本框TextBox 控件 來自哪里。所有的標準Web 控件 都是 ASP名稱空間的一部分。當編寫自己的 控件 時,這一點變得很重要。
TextBox 控件 相對于標準的輸入框好象沒有多少優勢,但是你應該考慮一下面的三個輸入 控件 :
<input type=“text” ...>
<input type=“password” ...>
<textarea rows=“5" ...>
它們都是用于HTML輸入的,但是并沒有一致性。但是如果使用下面的,是不是更簡單一些呢?
<asp:TextBox runat=“server” ...>
<asp:TextBox TextBoxMode=“Password” ...>
<asp:TextBox Rows=“5" ...>
你可以看到,一個簡單 控件 包含了HTML中三個 控件 的功能,而且更易記憶、更易編碼。
ASP.NET 攜帶了5大類 Web 控件 :
• 與HTML相對應的固有 控件
• 在頁面上提供數據流的列表 控件
•提供更豐富的UI(用戶界面)內容和功能的Rich 控件
• 完成各種表單驗證的確認 控件
• 為 WAP設備封裝WML的移動 控件
固有的 服務器 控件 與 HTML 控件 相同,但是更加合理了,可提供更為一致的用途。這些 控件 包括LinkButton(鏈接按鈕)、ImageButton(圖象按鈕)、HyperLink(超級鏈接)、TextBox(文本框)、CheckBox(復選框)、RadioButton(單選框)、DropDownList(下拉列表)、ListBox(列表框)、Image(圖象)、Label(標簽)、Panel(面板)、Table(表格)、TableRow(表格行)、TableCell(表格單元)。
列表 控件 包括Repeater(轉發器)、DataList(數據列表)和DataGrid(數據柵格)。列表 控件 還包括RadioButtonList(單選框列表)和 CheckBoxList(復選框列表),這樣就使創建單選框和復選框的列表變得簡單。
Rich 控件 包括Calendar(日歷)和AdRotator(廣告旋轉)。Calendar 控件 為低級的瀏覽器輸出純HTML,為高級瀏覽器輸出 DHTML (如 Internet Explorer 5.0)。AdRotator輸出圖象,它有內置的旋轉代碼。
確認 控件 包括RequiredFieldValidator(請求域確認)、 Compare Validator(比較確認)、RangeValidator(范圍確認)、RegularExpressionValidator(規范表達確認)、CustomValidator(顧客確認)和ValidationSummary(確認摘要)。這些 控件 為開發人員在表單處理中建立確認提供了簡單的途徑。
有關移動 控件 的信息現在還沒有發布,但是可以肯定它們有助于構造激活WAP的Web站點。
 
編寫新的 控件
 
你并不一定只局限于使用這些系統提供的 控件 ,自己編寫 控件 也相當簡單。例如,如果想要一個 控件 來封裝兩個文本框(可能是名和姓的輸入域),就可以這樣來編寫代碼:
<asp:Panel runat=“server”>
<asp:Textbox id=“txtFirstName” text=“First Name” runat=“server” />
<asp:Textbox id=“txtLastName” text=“Last Name” runat=“server” />
</asp:Panel>
可以把這個代碼保存在文件 Name.aspc (注意這個新擴展名)中,并將其作為一個Web表單 控件 來對待。接著,就可以向 Web表單中增加以下內容:
<%@ Register TagName=“NameControl” TagPrefix=“Foo” Src=“Name.aspc” %>
<form>
<foo:NameControl runat=“Server”/>
</form>
這樣你就可以很容易地創建可以再利用的 控件 了。這真實很美好 ;-) 你還可以直接在Visual Basic或 C#中創建 控件 ,允許它們成為其它 控件 的子類,并且呈現任何它們所要求的輸出。因為 控件 是用名稱空間來識別的,因此在 控件 之間應該是沒有沖突的。實際上, 控件 甚至可以使用同一個名字,只要它們在不同的名稱空間中就行。你會感覺到,這使得 ASP.NET 非常具有擴展性,并且使編程環境變得越來越豐富。實際上有一個很大的提供豐富 控件 的第三方市場。
 
數據捆綁 控件
 
新的Web 控件 之一是數據柵格DataGrid,這是用于顯示成套數據的內置支持 控件 。為了從SQL生成的數據中產生一個 HTML表格,你只需要創建 ADO+對象,并執行指令來獲取數據以作為柵格的數據源,比如下面的表4代碼:
表 4 DaveSGrid1.aspx
<%@ Import Namespace=“System.Data.SQL” %>
<html>
<script language=“VB” runat=“server”>
Sub Page_Load(Sender As Object, E As EventArgs)
Dim myCommand As SQLCommand
myCommand = New SQLCommand(Òselect * from products”,
ÒServer=localhost; Database=AdvWorks; UID=sa”)
DataGrid1.DataSource = myCommand.Execute
DataGrid1.DataBind
End Sub
</script>
<body>
<ASP:DataGrid id=“DataGrid1" runat=“server” />
</body>
</html>
所需要做的就是將數據捆綁到數據柵格,然后就生成了一個整潔的HTML表格:


數據捆綁并不局限于來自 數據庫 的數據,你還可以捆綁到hash表格、數組、其它 服務器 控件 、頁面的適當層,幾乎什么都可以。如果默認的欄目不合適,還可以對其進行定制,讓其顯示你所感興趣的部分:
<asp:DataGrid id=“DataGrid1"
AutoGenerateColumns=“false” runat=“server”>
<property name=“Columns”>
<asp:BoundColumn HeaderText=“ Name” DataField=“ProductName”/>
<asp:BoundColumn HeaderText=“Description”
DataField=“ProductDescription”/>
</property>
</asp:DataGrid>
使用 BoundColumn 控件 選擇一個簡單的欄目,并指定欄的標題和這欄要捆綁到哪里。 AutoGenerate=“false” 屬性負責確保柵格不會為你創建所有的欄目。如果想更復雜一些,也可以為這個欄目使用一個模板。
此前提到的Repeater和DataList 控件 也支持模板,這樣就允許對 控件 的外觀進行定制。Repeater實際上并沒有外觀,你必須要提供 UI,這就意味著必須要使用一個模板。相反,DataList 控件 是一個捆綁到數據的列表,有一個默認的外觀和豐富的行為。為這兩個 控件 添加模板的方法是一樣的:
<asp:DataList is=“DataList1" runat=“server”>
<template name=“HeaderTemplate”>
Here”s your list of titles<br>
</template>
<template name=“ItemTemplate”>
<%# DataBinder.Eval(Container.DataItem, “Title”) %> <br>
</template>
</asp:DataList>
有了這個模板template,你就可以指定用哪些 HTML 控件 來組成數據捆綁 控件 的每一部分。有5個模板的名字可以與 DataList 控件 一起使用:HeaderTemplate用于 控件 的最頂端部分,ItemTemplate 用于各個項目,Alternating-Item-Template用于其它項目,SeparatorTemplate用于各個項目之間的區域,FooterTemplate用于 控件 的底部。
這個系統的好處在于:對于如何顯示界面,有大量的 控件 可以使用。進一步使用產品列表,你就能用表7中的代碼來生成下圖所示的輸出:


表 7 DaveSGrid2.aspx
<asp:DataList id=“MyDataList” RepeatColumns=“2" runat=“server”>
<template name=“itemtemplate”>
<table cellpadding=10 style=“font: 10pt verdana”>
<tr>
<td width=1 bgcolor=“BD8672"/>
<td valign=“top”>
<img align=“top”
src=“<%# DataBinder.Eval(Container.DataItem,“ProductImageURL”) %>“ >
</td>
<td valign=“top”>
<b>Name: </b>
<%# DataBinder.Eval(Container.DataItem,”ProductName”) %><br>
<b>Description: </b>
<%# DataBinder.Eval(Container.DataItem,“ProductDescription”) %><br>
<b>Price: </b>
<%# DataBinder.Eval(Container.DataItem,”ProductPrice”, “$ {0}”) %>
</td>
</tr>
</table>
</template>
</asp:DataList>
這個代碼相當簡單,除了前面顯示的 DataList代碼外,不再需要更多的東西。代碼里有一點值得注意,就是你可以規定出現的欄數,列表會自動處理欄的包裝。這樣就只需要一點格式化代碼,Web頁面就得到了極大的改進,而不再使用以前Web 頁面上的傳統柵格。





主站蜘蛛池模板: 亚洲天天综合 | 青娱乐九色 | 日日摸夜夜添夜夜添一区二区 | 欧美在线小视频 | 青青青爽线在线视频观看 | 日韩伦理网站 | 一二三四在线观看免费高清网 | 午夜看片在线 | 天天狠天天天天透在线 | 日日干夜夜操s8 | 欧美亚洲另类色国产综合 | 亚洲系列国产系列 | 一道本在线 | 色www| 日韩精品久久久毛片一区二区 | 欧美亚洲图区 | 亚洲第一黄 | 四虎影院免费观看视频 | 欧美野外多人交3 | 一二三四视频免费观看影视 | 欧美一级淫片免费观看 | 欧美限制级在线观看 | 日韩美一区二区 | 婷婷色六月 | 日本高清视频网站www | 日本爱爱视频 | 午夜视频在线免费观看 | 亚洲成人网在线播放 | 日韩三级视频在线 | 青青草国产精品 | 中文字幕免费在线视频 | 欧美性色一级在线观看 | 日日爽夜夜操 | 天天干天天曰天天操 | 亚洲欧美国产人成在线app | 日韩中文字幕精品一区在线 | 婷婷综合激情网 | 一二三四影视在线看片 | 亚洲国产成人久久 | 伊人手机在线视频 | 青青草 久久久 |