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 ...
随机推荐
- C语言程序设计现代方法_基本类型(第七章)
C语言支持两种不同的数值类型,整数类型,浮点类型. C语言的整数类型有不同的尺寸.int类型通常为32位,但在老的CPU上可能是16位.有些可能是64位. 因此,int型如果在16位CPU上最大值就是 ...
- JS——ajax login test
1.新建一个webproject,我用的是myeclipse10,建立如下的LoginServlet.java文件 2.编写java文件 import java.io.IOException; imp ...
- Codeforces Round #379 (Div. 2) E. Anton and Tree 树的直径
E. Anton and Tree time limit per test 3 seconds memory limit per test 256 megabytes input standard i ...
- HTML笔记(七)head相关元素<base> & <meta>
<head>元素是所有头部元素的容器. 可添加的标签有:<title>.<base>.<link>.<meta>.<script> ...
- Maven常用命令(转)
Maven库: http://repo2.maven.org/maven2/ Maven依赖查询: http://mvnrepository.com/ Maven常用命令: 1. 创建Maven的普通 ...
- HDU5869树状数组+gcd预处理
比赛的时候知道用树状数组,但有点乱不知道怎么处理. 统计不同的gcd的个数其实就是用树状数组统计区间内不同的数的模板题啊... 复杂度O(nlogn) #include <bits/stdc++ ...
- UML建模
1.包含<<include>> 包含是指当多个用例中存在相同的事件流时,可以把这些公共事件流抽象成公共用例,这个公共用例称之为抽象用例(跟类的概念有点相像,类是多个对象的抽象定 ...
- iOS开发之引用百度地图SDK(一)-----------SDK开发指南
(void)viewWillAppear:(BOOL)animated { [_mapView viewWillAppear]; _mapView.delegate = self; // 此处记得不用 ...
- android 自定义进度条颜色
android 自定义进度条颜色 先看图 基于产品经理各种自定义需求,经过查阅了解,下面是自己对Android自定义进度条的学习过程! 这个没法了只能看源码了,还好下载了源码, sources\b ...
- Struts2配置文件
Struts2配置文件 简介: 与Struts2相关的配置文件有好几个,常用的有 struts.properties , web.xml, struts.xml等.web.xml中配置Struts2的 ...