asp.net重写服务器控件

新建一个服务器控件,然后让其继承button类,代码如下:

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 bt
{
    [DefaultProperty("Text")]
    [ToolboxData("<{0}:btn runat=server></{0}:btn>")]
    [DefaultEvent("Click")]
    public class btn : System.Web.UI.WebControls.Button
    {
        public btn() : base() { 

        }

        [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)
        {
            output.Write(Text);
        }*/

        protected override void OnClick(EventArgs e)
        {
            /*在这里尽情的做自己想做的事*/
            string ss=this.ID;

            HttpContext.Current.Response.Write("全局事件");
            base.OnClick(e);
        }

    }
}

在上述代码中重写了按钮的Click事件,我的意图是想通过基类对所有的按钮权限达到控制。

页面上就直接引用上述代码生成的控件就好了。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-11 03:32:48

asp.net重写服务器控件的相关文章

asp.net的服务器控件客户端空件的区别以及如何刷新页面不靠数据库数据停留在页面

区别:服务器端控件都会有个runat="Server"属性,这样才能够在后台对其进行设置修改,也就是在cs代码里面能对其修改设置.你做下测试 你放个HTML控件 在CS代码是引用不出控件名的然后你个HTML控件加上runat="Server" 在CS代码就能引用该控件了本质上ASP.NET 的服务器控件 解析后返回到前台还是HTML控件你建个页面 放一个asp:textbox上去然后运行页面,然后查看页面源文件你会发现放上的服务器控件变成了HTML的inupt ty

ASP.NET 中服务器控件和html控件的使用

Asp.net开发中,控件无疑给开发人员带来了方便,大大提高了开发速度,如果纯粹的用托控件方式来开发网站,我想应该没有其他什么开发工具能够拼的过visual studio(以下简称vs)了.一个企业站用1~2天就可以完成,如果要求简单的,估计半天就搞定,这样开发速度,估计有些人还不信. 然而,使用vs开发就是托控件吗?回答是否定的.这个要根据实际情况来选择到底是不是该用服务器控件.下面,天智海网络就和大家浅谈下什么时候适合用服务器控件,而什么情况则应该少用或者不用服务器控件. 首先,用不用服务器

ASP.NET重写Render 加载CSS样式文件和JS文件(切换CSS换皮肤)

网页换皮肤的方式有很多种,最简单的通常就是切换页面CSS,而CSS通常写在外部CSS文件里.那么切换CSS其实就是更换html里的link href路径.我在网上搜索了下. 一般有两种方式: 1.页面放一个Holder控件.然后用编程方式把当前用户的风格css link写入页面. 2.过反射机制,逐个控件设置css样式. 上面两种方式都挺麻烦的,第一种需要在每个页面上放一个holder控件,类似的做法还有把link标签加runat=server的做法,页面多了,都比较麻烦.第二种不用考虑了,性能

asp.net重写server控件

新建一个server控件,然后让其继承button类,代码例如以下: 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 bt { [DefaultPrope

ASP.Net 重写IHttpModule 来拦截 HttpApplication 实现HTML资源压缩和空白过滤

务实直接上代码: 1. 重写FilterModule.cs 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 using System.Web; 7 using System.Text.RegularExpressions; 8 using System.IO.Compression; 9 1

asp.net中 服务器控件中onselectedindexchanged 没有反应的解决方案

最近发现项目中一个BUG就是 DropDownList 中的onselectedindexchanged 没有反应 AutoPostBack="true"和页面中的<%@ Page Language="C#" AutoEventWireup="true" %> 还是没有反应  各种百度  最终解决方案是 <form id="T_Add" runat="server" > <as

asp.net 重写OnException返回json或跳转新页面

protected override void OnException(ExceptionContext filterContext) { // 此处进行异常记录,可以记录到数据库或文本,也可以使用其他日志记录组件. // 通过filterContext.Exception来获取这个异常. filterContext.ExceptionHandled = true;//组织web.config配置customerror处理 string requestType = filterContext.H

ASP.NET 2.0服务器控件开发的基本概念(转载)

利用ASP.NET 2.0技术,创建Web自定义服务器控件并不是一件轻松的事情.因为,这需要开发人员了解并能够灵活应用多种Web开发技术,例如,CSS样式表.客户端 脚本语言..NET开发语言.服务器控件开发技术,甚至是当前最火的AJAX技术等等.虽然现实如此"艰难",但是这种开发技术也不是真的难到不可掌握. 事事都要从头做起.本文将针对利用asp.net 2.0技术,创建Web自定义服务器控件的基础知识进行详细介绍,内容包括:服务器控件概念.控件类型.生命周期等. 1.ASP.NET

获取asp.net服务器控件的客户端ID和Name

前几天在做项目的时候,遇到一个问题,想查看Asp.net中服务器控件在客户端显示的name属性.起初,感觉不是很难找,但就是找不到,几经周折,终于发现了: 1 string btnClientName = btnSearch.UniqueID;//服务器控件在客户端显示的name属性 2 string btnClientID = btnSearch.ClientID;//服务器控件在客户端显示的id属性