asp.net(c#)自定义控件

原创 2007年09月12日 11:47:00

实现自定义文本框:
-------------------------------------------------------------------------------------------------------------------------------------------
using System;
using System.Collections;
using System.ComponentModel;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Collections.Specialized;

namespace ClassLibrary1
{
 [DefaultProperty("s"),
 ToolboxData("<{0}:WebCustomControl1 runat=server></{0}:WebCustomControl1>")]
 public class WebCustomControl1 : System.Web.UI.WebControls.TextBox
 {

  [Bindable(true),
  Category("Appearance"),
  DefaultValue("")]
  public string s
  {
   get
   {
    return s;
   }

   set
   {
    s = value;
   }
  }
/// <summary>
/// 重写TextBox的Text属性
/// </summary>
  public override string Text
  {
   get
   {
    return (string)ViewState["Text"]==null?"":(string)ViewState["Text"];
   }
   set
   {
    ViewState["Text"] = value;
   }
  }

/// <summary>
/// 实现接口IPostBackDataHandler的类
/// </summary>
/// <param name="postDataKey"></param>
/// <param name="postCollection"></param>
/// <returns></returns>
  public virtual bool LoadPostData(string postDataKey, NameValueCollection postCollection)
  {
   String presentValue = Text;
   String postedValue = postCollection[postDataKey];

   if (presentValue == null || !presentValue.Equals(postedValue))
   {
    Text = postedValue;
    return true;
   }

   return false;
  }
  /// <summary>
  /// 重写Render函数,实现数据的输出
  /// </summary>
  /// <param name="output"></param>
        protected override void Render(HtmlTextWriter output)
        {
   output.Write("<INPUT type= text id=/"t1/" name = "+this.UniqueID+ " value = " + this.Text + " onblur=/"return checkbox()/">");
   string span="<span id=/"t2/"><font color=#000000 size=2>请输入五个以上的字符</font></span>";
   //定义一个span元素
   string jscript="/n<script>/nfunction checkbox(){/n/tvar t=document.getElementById('t1');"+
    "/n/tvar s=document.getElementById('t2');/n/tif(t.value.length<5){"+
    "/n/t/ts.innerHTML='<font color=#FF0000 size=2>长度不符合要求</font>';}"+
    "/n/telse{/n/t/ts.innerHTML='<font color=Teal size=2>输入正确</font>';/n}/n</script>";
   //实现对文本框的数据判断的js代码
   string s="/n"+span+"/n"+jscript;
   output.Write(s);//数据输出
        }
    }

--------------------------------------------------------------------------------------------------------------------------------------------

实现自定义按钮控件
-------------------------------------------------------------------------------------------------------------------------------

using System;
using System.Web.UI;

namespace CustomControls

 public class MyButton: Control, IPostBackEventHandler
 {    
  // Defines the Click event.
  public event EventHandler Click;
     
  // Invokes delegates registered with the Click event.
  protected virtual void OnClick(EventArgs e)
  {    
   if (Click != null)
   {
    Click(this, e);
   }
  }
     
  // Method of IPostBackEventHandler that raises change events.
  public void RaisePostBackEvent(string eventArgument)
  {    
   OnClick(EventArgs.Empty);
  }
     
  protected override void Render(HtmlTextWriter output)
  {    
   output.Write("<INPUT TYPE=submit name=" + this.UniqueID +
    " Value='Click Me' />");
  }
 }   
}

ASP.NET自定义服务器控件

最简单的服务器端控件开发流程简介。
  • yanwushu
  • yanwushu
  • 2014年04月08日 21:34
  • 4315

强大的ASP.NET控件----用户控件对战自定义控件

用户控件,用户控件的属性 自定义控件,如何使用自定义和用户控件,如何制作自定义控件和用户控件...
  • u010073895
  • u010073895
  • 2014年11月08日 21:34
  • 2651

asp.net向自定义控件传递参数-两个例子

在控件.ascx.cs声明控件属性           private int _ClassID = 0;           public int ClassID           {  ...
  • lishimin1012
  • lishimin1012
  • 2014年06月27日 21:14
  • 4867

asp.net WebForm之用户自定义控件

关于用户自定义控件,想必大家已经非常熟悉了。虽然说经常用过,但是只是简单的使用而已。在这里再次总结一下Asp.net中的UserControl,以便下次使用时 能够得心应手。本文将会介绍以下内容...
  • ydm19891101
  • ydm19891101
  • 2016年05月11日 09:45
  • 2675

Asp.net 用户控件添加自定义事件asp.net

Asp.net 用户控件添加自定义事件asp.net
  • Sunqlive
  • Sunqlive
  • 2016年09月07日 11:17
  • 868

C# Asp.net Active控件开发全过程

最近在做Active控件的开发,签名高了很久,一直出问题,找了很多网站发现资料都不是全队,当前系统为Win7 系统开发。权当是自己的开发笔记,有问题大家可以一起讨论下,求大家别喷我~~ 1. Acti...
  • xiaoao314224236
  • xiaoao314224236
  • 2014年01月16日 14:57
  • 2241

自定义控件之流式布局

这段时间偷懒了,全去dota去了。都没有心情敲代码了。写了个流式布局。练习下自定义viewgroup,再准备写个圆形菜单来练习练习。 下面看看效果: 流式布局: 一 概述: 流式布局就将其...
  • u010339039
  • u010339039
  • 2016年01月03日 22:46
  • 795

ASP.NET自定义控件组件开发 第一章:从一个简单的控件谈起

起始开发ASP.NET自定义控件不是那么的高深,当初我开始学的时候还有点恐惧,但是慢慢就好了。学习控件的开发技术,并不一定说以后要从事控件的开发,而是让我们深入的理解掌握ASP.NET内部的机理。你会...
  • quan_QQ
  • quan_QQ
  • 2017年03月07日 23:21
  • 1008

用户控件&自定义控件----.Net再学

开始学习.Net到现在两年了快,开始学习java 也有大半年了,中间做项目,又开始.Net的学习。这次做.Net项目,后台代码敲的不是太多,重点放在了UI上,这也是这篇博客要写的内容有关,做UI就少不...
  • wangyongxia921
  • wangyongxia921
  • 2015年01月30日 22:42
  • 1257

ASP.NET的面包屑导航控件、树形导航控件、菜单控件

ASP.NET的面包屑导航控件、树形导航控件、菜单控件。 1、 面包屑导航控件——SiteMapPath控件 SiteMapPath控件可以为站点提供“面包屑导航”的功能。 1.1 ...
  • u010075060
  • u010075060
  • 2015年04月23日 18:19
  • 2424
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:asp.net(c#)自定义控件
举报原因:
原因补充:

(最多只允许输入30个字)