web自定义控件UserControl
今天做了两个自定义控件,之前用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的更多相关文章
- asp.net web 自定义控件
0.调用代码 protected override void Page_Load(object sender, EventArgs e) { //给基类服务接口复制,可不付 if (IsPostBac ...
- WPF之路——用户控件对比自定义控件UserControl VS CustomControl)
将多个现有的控件组合成一个可重用的“组”. 由一个XAML文件和一个后台代码文件. 不能使用样式和模板. 继承自UserControl类. 自定义控件(扩展) 在现有的控件上进行扩展,增加一些新的属性 ...
- [转]在WPF中自定义控件 UserControl
在这里我们将将打造一个UserControl(用户控件)来逐步讲解如何在WPF中自定义控件,并将WPF的一些新特性引入到自定义控件中来.我们制作了一个带语音报时功能的钟表控件, 效果如下: 在VS中右 ...
- Asp.Net 自定义控件实现图片的上传,浏览,删除功能
4月的时候公司比较闲,就想着自己做点东西,其实主要是为了更加熟悉.Net,毕竟接触的时间不长,趁着有时间想提高提高.不过当我做到图片上传这个功能的时候,就有些停滞不前了,连续写了两天也达不到自己想要的 ...
- 033. asp.netWeb用户控件之二将页面转换成web控件和使用Web控件显示热点新闻
访问Web用户控件的属性 ASP.NET提供的各种服务器控件都有其自身的属性和方法,程序开发人员可以灵活地使用服务器控件中的属性和方法开发程序.在用户控件中,程序开发人员也可以自行定义各种属性和方法, ...
- ASP.NET的一次奇遇:UserControl写成Control引发的w3wp进程崩溃
昨天在写代码中一不小心将UserControl写成了Control,将原来应该继承自System.Web.UI.UserControl的用户控件,比如下面的BlogStats: <%@ Cont ...
- [转]Oracle分页之二:自定义web分页控件的封装
本文转自:http://www.cnblogs.com/scy251147/archive/2011/04/16/2018326.html 上节中,讲述的就是Oracle存储过程分页的使用方式,但是如 ...
- pages 元素(ASP.NET 设置架构)web.config 详解
pages 元素(ASP.NET 设置架构) buffer="[True|False]" enableEventValidation="[True|False] ...
- ZLComboBox自定义控件开发详解
[引言]距离上一回写博客已经有一些时日了,之前的爱莲iLinkIT系列主要是讲解了如何用NodeJS来实现一个简单的“文件传送”软件,属于JavaScript中在服务器端的应用. 今天,我们就回归到J ...
随机推荐
- Codeforces Round #257 (Div. 2) B
B. Jzzhu and Sequences time limit per test 1 second memory limit per test 256 megabytes input standa ...
- C# 线程(一)
From : http://www.cnblogs.com/miniwiki/archive/2010/06/18/1760540.html 文章系参考转载,英文原文网址请参考:http://www. ...
- C#线程系列讲座(5):同步技术之Monitor
在上一讲介绍了使用lock来实现线程之间的同步.实际上,这个lock是C#的一个障眼法,在C#编译器编译lock语句时,将其编译成了调用Monitor类.先看看下面的C#源代码: public sta ...
- yii CDbCriteria 类的总结
在编程中,我们通常会需要查询些东西,但是通过查询的时候,yii有个集成的类--- CDbCriteria():通过该类,我们可以更加便捷的调用数据. 参考网址:http://www.cnblogs.c ...
- effect c++ 口诀。
常用条款,写成口诀,记住.知其所以,也要时时使用. 1)习惯c++: 联替const初. 2)构造,复制,析构: 要知默,构赋析. 若不需,明拒绝. 构析不调虚. 异不逃析构. 基析要虚函. 赋值操, ...
- iOS 推送消息长度
iOS最大推送消息长度 官方要求是256个字节 实际测试为1005个字节 在iPhone6上测试 锁屏时收到消息时只显示76个汉字,剩下的被隐藏 程序进入后台时只显示47个汉字,剩下的被隐藏
- ean13码的生成,python读取csv中数据并处理返回并写入到另一个csv文件中
# -*- coding: utf-8 -*- import math import re import csv import repr def ean_checksum(eancode): &quo ...
- [C++]访问控制与继承(public,protect,private) 有时间再整理!!!
http://www.cnblogs.com/chio/archive/2007/06/11/779408.html http://www.cnblogs.com/SelaSelah/archive/ ...
- Spring 定时任务的配置
1.applicationContext.xml 中 加入task 的声明与xsd ? 1 xmlns:task="http://www.springframework.org/schema ...
- Nginx安装(zhuan)
http://www.nginx.cn/install ************************ nginx可以使用各平台的默认包来安装,本文是介绍使用源码编译安装,包括具体的编译参数信息. ...