激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術(shù)及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP教程 - ASP.NET 自定義控件

ASP.NET 自定義控件

2023-05-08 03:23未知服務器之家 ASP教程

自定義控件 ASP.NET 允許用戶創(chuàng)建控件。這些用戶定義的控件被分類為: 用戶控件 自定義控件 用戶控件 用戶控件行為像微型 ASP.NET 頁面或者網(wǎng)頁表單,它能被許多其他頁面使用。這些都是源自 System.Web.UI.UserControl 類。這些控件有下

自定義控件

ASP.NET 允許用戶創(chuàng)建控件。這些用戶定義的控件被分類為:

  • 用戶控件
  • 自定義控件

用戶控件

用戶控件行為像微型 ASP.NET 頁面或者網(wǎng)頁表單,它能被許多其他頁面使用。這些都是源自 System.Web.UI.UserControl 類。這些控件有下列特性:

  • 它們有 .ascx 擴展。
  • 它們可能不會含有任何 , 或者 標簽。
  • 它們有一個 Control 指令而不是一個 Page 指令。

為了理解這個概念,讓我們創(chuàng)建一個簡單的用戶控件,它將作為 web 頁面的頁腳使用。為了創(chuàng)建和使用用戶控件,采取以下步驟:

  • 創(chuàng)建一個新的 web 應用程序。
  • 在 Solution Explorer 上右擊項目文件夾并且選擇 ADD New Item。

ASP.NET 自定義控件

  • 給文件添加下列代碼:
  • <table> <tr> <td align="center"> Copyright ?2010 TutorialPoints Ltd.</td> </tr> <tr> <td align="center"> Location: Hyderabad, A.P </td> </tr> </table>

    為給你的 web 網(wǎng)頁添加用戶控件,你必須添加 Register 指令和一個頁面用戶控件的實例。以下的代碼展示了說明:

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="customcontroldemo._Default" %> <%@ Register Src="~/footer.ascx" TagName="footer" TagPrefix="Tfooter" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.zmynmublwnt.cn/uploads/allimg/20d1e0dzip0" > <head runat="server"> <title> Untitled Page </title> </head> <body> <form id="form1" runat="server"> <div> <asp:Label ID="Label1" runat="server" Text="Welcome to ASP.Net Tutorials "></asp:Label> <br /> <br /> <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Copyright Info" /> </div> <Tfooter:footer ID="footer1" runat="server" /> </form> </body> </html>

    當執(zhí)行后,頁面顯示了頁腳而且這個控件能在所有你的網(wǎng)站的頁面中被使用。

    ASP.NET 自定義控件(2)下列的標簽名稱和前綴應該在頁面上添加用戶控件時被使用:

    <Tfooter:footer ID="footer1" runat="server" />

    自定義控件

    自定義控件被部署為單獨的集合。它們被編譯成動態(tài)鏈接庫(DLL)并且作為任何其他的 ASP.NET 服務控件來使用。它們能被以下方法中的任何一個來創(chuàng)建:

    • 通過從一個存在的控件中獲得一個自定義控件。
    • 通過聯(lián)合兩個或者更多的存在的控件來組成一個新的自定義控件。
    • 通過從基本的控件類中獲得。

    為了理解這個概念,讓我們創(chuàng)建一個自定義類,它將簡單地在瀏覽器上呈現(xiàn)一條短信。為了創(chuàng)建控件,采取以下步驟:

    創(chuàng)建一個新的網(wǎng)站。在 Solution Explorer 中樹的頂端右擊 solution(不是項目)。

    ASP.NET 自定義控件而且,你可以使用控件,和任何其他控件類似。

    <form id="form1" runat="server"> <div> <ccs:ServerControl1 runat="server" Text = "I am a Custom Server Control" /> </div> </form>

    當執(zhí)行后,控件的 Text 屬性被展示在瀏覽器上,如下所示:

    ASP.NET 自定義控件上述的代碼自動生成給一個自定義控件。事件和方法能被添加到 custom control 類中。

    例子

    讓我們擴展之前的名為 ServerControl1 的自定義控件。讓我們給予它一個名為 checkpalindrome 的方法,它將給它權(quán)限來檢查 palindrome。

    Palindrome 是當顛倒時仍拼寫相同的文字/字面值。例如,Malayalam,madam,saras 等。

    擴展自定義控件的代碼,它應該看起來如下所示:

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace CustomControls { [DefaultProperty("Text")] [ToolboxData("<{0}:ServerControl1 runat=server></{0}:ServerControl1 >")] public class ServerControl1 : WebControl { [Bindable(true)] [Category("Appearance")] [DefaultValue("")] [Localizable(true)] public string Text { get { String s = (String)ViewState["Text"]; return ((s == null) ? "[" + this.ID + "]" : s); } set { ViewState["Text"] = value; } } protected override void RenderContents(HtmlTextWriter output) { if (this.checkpanlindrome()) { output.Write("This is a palindrome: <br />"); output.Write("<FONT size=5 color=Blue>"); output.Write("<B>"); output.Write(Text); output.Write("</B>"); output.Write("</FONT>"); } else { output.Write("This is not a palindrome: <br />"); output.Write("<FONT size=5 color=red>"); output.Write("<B>"); output.Write(Text); output.Write("</B>"); output.Write("</FONT>"); } } protected bool checkpanlindrome() { if (this.Text != null) { String str = this.Text; String strtoupper = Text.ToUpper(); char[] rev = strtoupper.ToCharArray(); Array.Reverse(rev); String strrev = new String(rev); if (strtoupper == strrev) { return true; } else { return false; } } else { return false; } } } }

    當你改變空間的代碼時,你必須通過點擊 Build –> Build Solution 來構(gòu)建方法,這樣改變才能反映在你的項目中。給頁面添加一個 text box 和一個 button 控件,這樣用戶才能提供一段 text。當 button 被點擊時,它就被用來檢查 palindrome。

    <form id="form1" runat="server"> <div> Enter a word: <br /> <asp:TextBox ID="TextBox1" runat="server" style=""> </asp:TextBox> <br /> <br /> <asp:Button ID="Button1" runat="server onclick="Button1_Click" Text="Check Palindrome" style="" /> <br /> <br /> <ccs:ServerControl1 ID="ServerControl11" runat="server" Text = "" /> </div> </form>

    button 的 Click 事件句柄簡單地將 text box 中的 text 復制到自定義控件的 text 屬性中。

    protected void Button1_Click(object sender, EventArgs e) { this.ServerControl11.Text = this.TextBox1.Text; }

    當被執(zhí)行后,控件成功地檢測到了 palindromes。

    ASP.NET 自定義控件

    (2)custom control 類的 RenderContents 方法被覆寫了,你可以添加你自己的方法和事件。

    (3)RenderContents 方法采用了 HtmlTextWriter 型的參數(shù),它將對在瀏覽器上展示負責。

    延伸 · 閱讀

    精彩推薦
    主站蜘蛛池模板: 97香蕉超级碰碰久久免费软件 | 少妇一级淫片免费放播放 | 91久久在线观看 | 91精品一区二区综合在线 | 羞羞视频免费网站男男 | 毛片免费一区二区三区 | 精品亚洲一区二区 | 日本免费不卡一区二区 | 精品成人国产在线观看男人呻吟 | 青青青在线免费 | 午夜视频啊啊啊 | 成人在线视频免费播放 | 99精品视频免费看 | 天堂成人一区二区三区 | 欧美视频一二三区 | 成年人免费高清视频 | 亚洲一级簧片 | 欧美日韩精品一二三区 | 91精品久久久久久 | 中国美女一级黄色大片 | 久久久久久久久久综合 | 中文字幕在线观看视频一区 | 欧美在线小视频 | 国产亚洲精品久久久久5区 男人天堂免费 | 91av在线免费播放 | 不要插了h | 欧美精品一区二区久久久 | 黄色免费高清网站 | 大学生一级毛片在线视频 | 成人国产精品久久久 | 久草手机视频在线观看 | av影院在线播放 | 成人在线视频在线观看 | 久毛片| 中文字幕在线观看视频www | 成码无人av片在线观看网站 | 久久99精品久久久久久小说 | 免费观看高清视频网站 | 99最新网址 | 91久久久久久亚洲精品禁果 | 二级大黄大片高清在线视频 |