服务器控件与组件开发(2).简单得要死的控件

本文介绍了如何在ASP.NET中创建自定义控件和用户控件。通过继承System.Web.UI.Control类实现基本自定义控件,并展示了重载Render方法来生成HTML输出。此外,还介绍了用户控件的创建方法及其与自定义控件的区别。
摘要由CSDN通过智能技术生成
服务器控件与组建开发(2).简单得要死的控件

2-1:自定义控件
说明:继承自System.Web.UI.Control,主要是重载Render方法。把控件的html语句写出来。
文件名:SelfControl.cs
代码如下:
using  System;
using  System.Data;
using  System.Configuration;
using  System.Web;
using  System.Web.Security;
using  System.Web.UI;
using  System.Web.UI.WebControls;
using  System.Web.UI.WebControls.WebParts;
using  System.Web.UI.HtmlControls;

namespace  SelfControls
{
    
/// <summary>
    
/// SelfControl HelloWorld
    
/// </summary>

    public class SelfControl : Control
    
{
        
private string _Name;

        
/// <summary>
        
/// 自定义的一个属性
        
/// </summary>

        public string Name
        
{
            
set { _Name = value; }
            
get return _Name; }
        }


        
/// <summary>
        
/// 一句一句把html代码写出来.
        
/// 当然写的方式有多种.下机是最简单的一种.
        
/// 也可以用HtmlTextWriterAttribute;HtmlTextWriterStyle;HtmlTextWriterTag;
        
/// 定义的一些枚举值.
        
/// </summary>
        
/// <param name="writer"></param>

        protected override void Render(HtmlTextWriter writer)
        
{
            writer.Write(
"<table border=1>");
            writer.Write(
"<tr>");
            writer.Write(
"<td>");
            writer.Write(
"this is a self control of " + _Name);
            writer.Write(
"</td>");
            writer.Write(
"<td>");
            writer.Write(
"HelloWorld!");
            writer.Write(
"</td>");
            writer.Write(
"</tr>");
            writer.Write(
"</table>");
        }

    }

}

这些代码产生的画面如下:比较难看,赫赫。


2-2:自定义用户控件
说明:用户控件继承的类不同于以上所说的自定义控件,它继承自System.Web.UI.UserControl,而
UserControl:TemplateControl:Control,说明用户控件有了进一步的封装。
文件名:WebUserControl.ascx,WebUserControl.ascx.cs
前台代码:
<% @ Control Language="C#" AutoEventWireup="true" CodeFile="WebUserControl.ascx.cs"
Inherits
="WebUserControl" 
%>
< table  border ="1" >
< tr >
< td >< asp:TextBox  ID ="TextBox1"  runat ="server" ></ asp:TextBox ></ td >
< td >< asp:Button  ID ="Button1"  runat ="server"  Text ="Button"   /></ td >
</ tr >
</ table >
后台代码:
using  System;
using  System.Data;
using  System.Configuration;
using  System.Collections;
using  System.Web;
using  System.Web.Security;
using  System.Web.UI;
using  System.Web.UI.WebControls;
using  System.Web.UI.WebControls.WebParts;
using  System.Web.UI.HtmlControls;

/// <summary>
/// 什么也没写
/// </summary>

public   partial   class  WebUserControl : System.Web.UI.UserControl
{
}
效果:


2-3:做一个页面来调用上面两个控件。
说明:相当于一个容器,把上面两个控件装载进来。
文件名:Default.aspx
代码如下:
<% @ Page Language="C#" AutoEventWireup="true" 
CodeFile
="Default.aspx.cs" Inherits="_Default" 
%>

<% @ Register Namespace ="SelfControls" TagPrefix="cc1"  %>
<% @ Register Src="~/WebUserControl.ascx" TagName = "WebUser" TagPrefix = "cc2"  %>

<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>

< html  xmlns ="http://www.w3.org/1999/xhtml"   >
< head  runat ="server" >
    
< title > HelloWorld </ title >
</ head >
< body >
    
< form  id ="form1"  runat ="server" >
        
< cc1:SelfControl  ID ="SelfControl1"  runat ="server"  Name ="" >
        
</ cc1:SelfControl >
        
< br  />
        
< cc2:WebUser  ID  = "WebUser1"  runat  ="server"   />
    
</ form >
</ body >
</ html >

2-4:over。算是一个helloworld。继续学习。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值