您好,登錄后才能下訂單哦!
小編給大家分享一下asp.net中如何使用控件,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
1.asp.net頁面插入c#代碼
事先聲明:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
引入格式: <% %>
變量可以:<%=val %>
<body> <h3>從今天開始學(xué)習(xí)ASP.NET</h3> <form id="form1" runat="server"> <div> 歡迎使用vs2012<%= DateTime.Now %></div> </form> </body>
2.服務(wù)器控件和html控件
服務(wù)器控件:
- ASP.NET服務(wù)器控件是服務(wù)器端ASP.NET網(wǎng)頁上的對象,當(dāng)用戶通過瀏覽器請求ASP.NET網(wǎng)頁時,這些控件將在服務(wù)器上運(yùn)行,并向客戶端呈現(xiàn)HTML標(biāo)記。
- 在ASP.NET頁面上,服務(wù)器控件表現(xiàn)為一個標(biāo)記,例如<asp:textbox…/>。這些標(biāo)記不是標(biāo)準(zhǔn)的HTML元素,因此如果它們出現(xiàn)在網(wǎng)頁上,瀏覽器將無法理解它們,然而,當(dāng)從Web服務(wù)器上請求一個ASP.NET頁面時,這些標(biāo)記都將動態(tài)地轉(zhuǎn)換為HTML元素。
- 使用ASP.NET服務(wù)器控件,可以大大減少開發(fā)Web應(yīng)用程序所需編寫的代碼量,提高開發(fā)效率和Web應(yīng)用程序的性能。
HTML控件
- 默認(rèn)情況下,ASP.NET文件中的HTML元素作為文本進(jìn)行處理,并且不能在服務(wù)器端代碼中引用這些元素,只能在客戶端通過javascript和vbscript等腳本語言來控制。
- 默認(rèn)情況下, ASP.NET文件中的HTML元素被視為傳遞給瀏覽器的標(biāo)記,作為文本進(jìn)行處理,不能在服務(wù)器端的代碼中引用這些元素。
- 若要使這些元素能以編程方式進(jìn)行訪問,可以通過添加runat=”server”屬性表明應(yīng)將HTML元素作為服務(wù)器控件進(jìn)行處理,這樣就可使用基于服務(wù)器的代碼對其進(jìn)行編程引用了。
- 添加了屬性runat=”server”的HTML元素就轉(zhuǎn)換為HTML服務(wù)器控件了。移除控件標(biāo)記中的runat=”server”屬性,HTML服務(wù)器控件就轉(zhuǎn)換為HTML元素了。
總結(jié):
標(biāo)準(zhǔn)控件和HTML控件之間似乎有一些重疊,但是HTML控件的功能比標(biāo)準(zhǔn)類別中的控件的功能少得多。一般來說,標(biāo)準(zhǔn)類別中的真正服務(wù)器控件提供了更多的功能。不過這種功能是有代價的。因為它們增加了復(fù)雜度,所以處理服務(wù)器控件會多花一點時間。然而,在大多數(shù)Web站點上,可能不會注意到這一差別。只有在一個高通信量的Web站點,且在頁面上有很多控件時,使用HTML控件才會提供稍好一些的性能。
3.控件添加事件/事件的綁定
(1) 在ASP.NET頁面中,在聲明控件時,指定該控件的事件對應(yīng)的事件處理程序。
給button添加onclick事件:
前臺aspx
<asp:Button ID="Button1" runat="server" Text="Button" onclick="MyClick" />
后臺.cs代碼
protected void MyClick(object sender, EventArgs e) { Response.Write("<script>alert('sss')</script>"); }
可以雙擊該控件直接添加事件。
(2) 如果控件是動態(tài)創(chuàng)建的,則需要通過編寫代碼動態(tài)地將事件綁定到方法,例如:
Button myBtn = new Button(“Button1”);
myBtn.Text = “提交”;
myBtn.Click += new System.EventHandler(ButtonClick);
4.控件的屬性
?設(shè)置控件的顏色
?設(shè)置控件的字體
5.驗證控件
ASP.NET提供的6個有效性驗證控件中,5個控件用來執(zhí)行實際的有效性驗證,而最后一個控件ValidationSummary用來向用戶提供頁面中出現(xiàn)的錯誤的反饋信息。
?RequiredFieldValidator:驗證一個必填字段
?CompareValidator:將用戶輸入與一個常數(shù)值或者另一個控件或特定數(shù)據(jù)類型的值進(jìn)行比較(使用小于、等于或大于等比較運(yùn)算符)
?RangeValidator:RangeValidator控件可以用來判斷用戶輸入的值是否在某一特定范圍內(nèi)
?RegularExpressionValidator:它根據(jù)正則表達(dá)式來驗證用戶輸入字段的格式是否合法,如電子郵件、身份證、電話號碼等
?CustomValidator:使用自己編寫的驗證邏輯檢查用戶輸入。此類驗證能夠檢查在運(yùn)行時派生的值
?ValidationSummary:該控件不執(zhí)行驗證,但該控件將本頁所有驗證控件的驗證錯誤信息匯總為一個列表并集中顯示
兩個常用的控件:
RangeValidator控件
RangeValidator控件允許檢查一個值是否落在特定的范圍內(nèi)。這個控件能檢查字符串、數(shù)字、日期和貨幣等數(shù)據(jù)類型。除了上述共有屬性之外,RangeValidator控件還有其他幾個重要屬性
?MinimumValue 該屬性確定可接受的最小值。例如,當(dāng)檢查1和10之間的整數(shù)時,將該屬性設(shè)置為1
?MaximumValue 該屬性確定可接受的最大值。例如,當(dāng)檢查1和10之間的整數(shù)時,將該屬性設(shè)置為10
?Type 該屬性確定有效性驗證控件檢查的數(shù)據(jù)類型??梢栽O(shè)置為String、Integer、Double、Date或Currency來檢查各自的數(shù)據(jù)類型
用法匯總:
<form id="form1" runat="server"> <div> 姓名: <asp:TextBox ID="txtRequiredField" runat="server"></asp:TextBox> <%--RequiredFieldValidator:驗證一個必填字段--%> <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="姓名不能為空!" ControlToValidate="txtRequiredField"></asp:RequiredFieldValidator> <br /> 年齡: <asp:TextBox ID="txtRange" runat="server"></asp:TextBox> <%--RangeValidator:RangeValidator控件可以用來判斷用戶輸入的值是否在某一特定范圍內(nèi)--%> <asp:RangeValidator ID="RangeValidator1" runat="server" ErrorMessage="年齡不在規(guī)定范圍內(nèi)!" ControlToValidate="txtRange" MaximumValue="100" MinimumValue="0" Type="Integer"></asp:RangeValidator> <br /> 密碼: <asp:TextBox ID="txtPassword" runat="server"></asp:TextBox> <br /> 密碼確認(rèn): <asp:TextBox ID="txtPasswordConfirm" runat="server"></asp:TextBox> <%-- CompareValidator:將用戶輸入與一個常數(shù)值或者另一個控件或特定數(shù)據(jù)類型的值進(jìn)行比較(使用小于、等于或大于等比較運(yùn)算符)--%> <asp:CompareValidator ID="CompareValidator1" runat="server" ErrorMessage="密碼前后輸入,不一致!" ControlToCompare="txtPassword" ControlToValidate="txtPasswordConfirm"></asp:CompareValidator> <br /> 郵箱: <asp:TextBox ID="txtMail" runat="server"></asp:TextBox> <%--RegularExpressionValidator:它根據(jù)正則表達(dá)式來驗證用戶輸入字段的格式是否合法,如電子郵件、身份證、電話號碼等--%> <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ErrorMessage="郵箱格式不符!" ControlToValidate="txtMail" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator> <br /> <%--ValidationSummary:該控件不執(zhí)行驗證,但該控件將本頁所有驗證控件的驗證錯誤信息匯總為一個列表并集中顯示--%> <asp:ValidationSummary ID="ValidationSummary1" runat="server" HeaderText="驗證信息匯總" /> <br /> <asp:Button ID="btnSubmit" runat="server" Text="提交" OnClick="btnSubmit_Click" /> </div> </form>
6.導(dǎo)航控件
ASP.NET 4提供了3個有用的導(dǎo)航控件:SiteMapPath、TreeView和Menu。
1.SiteMapPath:這個Web控件提供一個面包條(breadcrumb),它是一行文本,顯示用戶當(dāng)前在網(wǎng)站結(jié)構(gòu)中的位置。例如,在網(wǎng)上書店中,如果用戶瀏覽到《Visual
C++》時,面包條可能類似于“主頁->計算機(jī)->編程類->Visual
C++”,其中每部分(如主頁,計算機(jī)等)都顯示為返回到前一部分的鏈接。面包條能夠讓用戶快速地查看當(dāng)前在網(wǎng)站中的位置,并沿邏輯層次結(jié)構(gòu)向上導(dǎo)航。
2.Menu:這個Web控件提供網(wǎng)站結(jié)構(gòu)的層次視圖。對于學(xué)校的網(wǎng)站,頂層菜單將包含主類別(如學(xué)校介紹、機(jī)構(gòu)設(shè)置、新聞等),每個菜單項又可以包含各自的子菜單,顯示各自的子類別。
3.TreeView:樹視圖提供了與菜單相同的數(shù)據(jù),唯一的區(qū)別是顯示數(shù)據(jù)的方式。樹視圖顯示為可展開或可折疊的樹,而菜單(Menu)是由菜單項和子菜單組成。
站點地圖文件:
關(guān)于站點的層級關(guān)系,就和html標(biāo)簽中的層級關(guān)系一樣。
<?xml version="1.0" encoding="utf-8" ?> <siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" > <siteMapNode url="Default.aspx" title="首頁" description=""> <siteMapNode url="Default2.aspx" title="第二頁" description="" /> <siteMapNode url="Default3.aspx" title="第三頁" description="" /> </siteMapNode> </siteMap>
在aspx文件中引用站點地圖:
<form id="form1" runat="server"> <%--Using SiteMapPath--%> <asp:SiteMapPath ID="SiteMapPath2" runat="server"></asp:SiteMapPath> <!-- 此處的 SiteMapDataSource 控件是提供給TreeView 和 Menu 使用 --> <asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" /> <%--Using TreeView--%> <asp:TreeView ID="TreeView1" runat="Server" DataSourceID="SiteMapDataSource1" /> <%--Using Menu--%> <asp:Menu ID="Menu2" runat="server" DataSourceID="SiteMapDataSource1" /> <%--Using a Horizontal Menu--%> <asp:Menu ID="Menu1" runat="server" DataSourceID="SiteMapDataSource1" Orientation="Horizontal" StaticDisplayLevels="2" /> </form>
7.用戶控件
對于用戶控件,在asp.net開發(fā)中,是一個很重要的內(nèi)容,他可以很大程序的簡化使用過程。(其實就是多個控件?包括HTML控件和服務(wù)器控件?的組合,并且可以自定義屬性)
制作一個用戶控件。解決方案管理器-》右鍵-》添加新項-》Web用戶控件。在解決方案管理器里多一個.ascx文件,這個文件就是一個控件。
1.添加控件代碼: 拖入幾個服務(wù)器空間,并雙擊button進(jìn)入后臺:
<asp:Label ID="ColumnName" runat="server"></asp:Label>
<asp:TextBox ID="Condition" runat="server"></asp:TextBox>
<asp:Button ID="Search" runat="server" Text="搜索"/>
2.添加控件事件和屬性:
public string lableText { get; set; } //提示用戶輸入什么樣的查詢條件
public string connectionString { get; set; } //連接數(shù)據(jù)庫
public GridView resultGridView { get; set; } //要填充的GridView控件
public string tableName { get; set; } //要查詢數(shù)據(jù)庫中的數(shù)據(jù)表名
public string columnCondition { get; set; } //根據(jù)哪一條進(jìn)行查詢
public string errorMessage { get; set; } //錯誤信息
使用自定義控件:
將ascx文件直接拖動到我們要使用的那個頁面即可。
<form id="form1" runat="server"> <div> <uc1:WebUserControl runat="server" ID="WebUserControl" /> </div> </form>
可以查看到添加的屬性:
以上是“asp.net中如何使用控件”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。