今天做了两个自定义控件,之前用WPF也做过,但是感觉跟今天的不太一样。首先是在项目中建了一个UserContral的控件界面,把需要的控件拖到里面,再给按钮添加事件。我们公司的控件都是买的Dev Express控件组,个人感觉效果挺好的,很多能够都比较实用也很方面,功能很强大,毕竟是花钱的东西。但是有一点不好,添加事件的时候不能单纯的靠双击,有时候双击可以在后台添加代码,但不会在designer.cs设计器中添加事件的声明,也就导致双击界面的控件不能自动定位到后台的代码,所以要自己手动添加。   

  这两个控件其实是从一个大模块中抠出来的,由于大模块代码太多,没仔细看,拷贝了好多无用的代码。VS可以设置安全级别,级别4是最高的,这时候当你申明了变量赋了初值而没有使用,或者申明了变量没有赋初值,都会报错,如果要把提示的错误注释掉,那得注释一大堆代码,如果不注释又编译不通过,很烦。最后还是乖乖的把安全级别降低了。 只有当解决方案生成成功,自定义控件才能在工具箱中显示并使用。代码修改完后生成成功,当把自定义控件拖到大模块中时报错了,未能找到BaseHttpCommom",自定义控件好像在web.config文件中配置的,跟WCF有关联,具体的没细看。其他的控件都可以用,就这个不行那就肯定不是配置文件的问题,还是控件后台代码本身的问题,只好逐个方法注释掉来排查。最后锁定在BandData()和InitContral()这两个方法中,原因大概是拖动自定义控件的时候(在设计状态下使用)它也会加载和调用控件中的代码,用DesignMode判断当其为FALSE的时候才调用代码,这样也不行,只好暂时注释掉接着调试另一个控件。

  另一个控件可以拖到界面上,生成也是成功的,当执行到此控件的构造函数时就会在designer.cs中报错"未将对象引用到实例",之前认为designer.cs文件是系统自动生成的不会有问题,通过这几次的错误看出,designer还是需要人工来维护的。于是在控件的designer.cs文件中加了此控件的声明,实例化后可以运行了。

   在大模块中调用其实很简单,自定义控件和普通的控件一样,代码都在自定义控件的后台写好了,直接拖到界面上就可以用了,当然要是给其赋值的话还需要用构造函数传参数或实例化后给其属性赋值。自定义控件就是一个类,一个控件类,使用时new一下就可以得到它内部的方法和属性。明天周六还要去加班,把大模块中的冗余代码删了,再把新添加的控件和已有的事件代码关联起来,争取上午搞定,哎,苦逼的程序员。

web自定义控件UserControl的更多相关文章

  1. asp.net web 自定义控件

    0.调用代码 protected override void Page_Load(object sender, EventArgs e) { //给基类服务接口复制,可不付 if (IsPostBac ...

  2. WPF之路——用户控件对比自定义控件UserControl VS CustomControl)

    将多个现有的控件组合成一个可重用的“组”. 由一个XAML文件和一个后台代码文件. 不能使用样式和模板. 继承自UserControl类. 自定义控件(扩展) 在现有的控件上进行扩展,增加一些新的属性 ...

  3. [转]在WPF中自定义控件 UserControl

    在这里我们将将打造一个UserControl(用户控件)来逐步讲解如何在WPF中自定义控件,并将WPF的一些新特性引入到自定义控件中来.我们制作了一个带语音报时功能的钟表控件, 效果如下: 在VS中右 ...

  4. Asp.Net 自定义控件实现图片的上传,浏览,删除功能

    4月的时候公司比较闲,就想着自己做点东西,其实主要是为了更加熟悉.Net,毕竟接触的时间不长,趁着有时间想提高提高.不过当我做到图片上传这个功能的时候,就有些停滞不前了,连续写了两天也达不到自己想要的 ...

  5. 033. asp.netWeb用户控件之二将页面转换成web控件和使用Web控件显示热点新闻

    访问Web用户控件的属性 ASP.NET提供的各种服务器控件都有其自身的属性和方法,程序开发人员可以灵活地使用服务器控件中的属性和方法开发程序.在用户控件中,程序开发人员也可以自行定义各种属性和方法, ...

  6. ASP.NET的一次奇遇:UserControl写成Control引发的w3wp进程崩溃

    昨天在写代码中一不小心将UserControl写成了Control,将原来应该继承自System.Web.UI.UserControl的用户控件,比如下面的BlogStats: <%@ Cont ...

  7. [转]Oracle分页之二:自定义web分页控件的封装

    本文转自:http://www.cnblogs.com/scy251147/archive/2011/04/16/2018326.html 上节中,讲述的就是Oracle存储过程分页的使用方式,但是如 ...

  8. pages 元素(ASP.NET 设置架构)web.config 详解

    pages 元素(ASP.NET 设置架构)    buffer="[True|False]"   enableEventValidation="[True|False] ...

  9. ZLComboBox自定义控件开发详解

    [引言]距离上一回写博客已经有一些时日了,之前的爱莲iLinkIT系列主要是讲解了如何用NodeJS来实现一个简单的“文件传送”软件,属于JavaScript中在服务器端的应用. 今天,我们就回归到J ...

随机推荐

  1. kvc kvo(摘录)

    概述 由于ObjC主要基于Smalltalk进行设计,因此它有很多类似于Ruby.Python的动态特性,例如动态类型.动态加载.动态绑定等.今天我们着重介绍ObjC中的键值编码(KVC).键值监听( ...

  2. CSS笔记(五)字体

    CSS 字体属性定义文本的字体系列.大小.加粗.风格(如斜体)和变形(如小型大写字母). 参考:http://www.w3school.com.cn/css/css_font.asp CSS字体系列 ...

  3. SQL 语句转换格式函数Cast、Convert

    CAST和CONVERT都经常被使用.特别提取出来作为一篇文章,方便查找. CAST.CONVERT都可以执行数据类型转换.在大部分情况下,两者执行同样的功能,不同的是CONVERT还提供一些特别的日 ...

  4. Android简单登陆页面

    布局: 线性布局+相对布局 日志打印: 利用LogCat和System.out.println打印观察. Onclick事件是采用过的第四种: 在配置文件中给Button添加点击时间 涉及知识: 通过 ...

  5. iOS - OC NSString 字符串

    前言 @interface NSString : NSObject <NSCopying, NSMutableCopying, NSSecureCoding> @interface NSM ...

  6. 一切都是对象 Thinking in Java 第二章

    2.1 用引用操作对象 1.对象和引用联系起来,就可以通过引用来操作对象: 2.引用亦可单独存在,即没有和任何对象联系起来:对没有和对象联系起来的引用操作,会报错: 2.2 必须由你创建所有对象 1. ...

  7. web设计经验<六>令网站看起来不专业的10个设计误区

    不管你是不是一个羽翼未丰企业的领导,专业的网站能为你带来的东西比你想象的多很多.退一万步来说,“考虑到我们是一个小厂”,粗糙的网站也许能被用户理解,但是不一定能接受.每天大家所浏览的大量的网站,已经从 ...

  8. Http状态总结

    常见的http状态总结: 如果向您的服务器发出了某项请求要求显示您网站上的某个网页,那么,您的服务器会返回 HTTP 状态代码以响应该请求.一些常见的状态代码为: 200 - 服务器成功返回网页 40 ...

  9. 12/09 Oracle练习之新建表

  10. poj1319Pipe Fitters

    链接 算不上几何的水题 第一种为(int)a*(int)b: 第二种分宽高交换两种讨论. 每一个的高度除第一个为1外其它的都可以看着b/sqrt(3.0)/2; #include <iostre ...