
我以微软。net入门教程中的一个例子,来讲述我出现的问题
http://chs.gotdotnet.com/quickstart/util/srcview.aspx?path=/quickstart/aspplus/samples/webforms/pagelets/Pagelet2.src
按照微软入门的例子编辑后,在一个vs.net的页面中加入自定义控件,注册自定义控件
<%@ Register TagPrefix=“Acme“ TagName=“Message“ Src=“pagelet2.ascx“ %>
并在vs.net中一个apsx页面中,定义其属性
void SubmitBtn_Click(Object sender, EventArgs E) {
MyMessage.Text = “消息文本已更改!“;
MyMessage.Color = “red“;
}
结果编译的时候出现,MyMessage没有定义。。。。。。
在原aspx文件中,运行通过的,为什么放在一个vs.net中aspx文件就不能定义呢?
上网看看资料,发现这部分资料分为两类:

一类就是类似微软入门教程上面的东西;
另一类就是将如何编程完成一个自定义控件。
具体讲到如何将一个已经定义好的控件,转换到vs.net中去,却没有。
结果倒腾半天作了一些尝试,都没有成功。
老师教育的好,看问题要看本质。
vs.net作asp.net的本质是什么?
说白了,asp.net就一个被类化的应用程序!!!
vs.net的编译是什么意思?
就将一个页面(被定义成类的页面)编译称为dll应用程序。


想到这里我忽然明白了,

原来,虽然编辑的控件,在vs.net中没有定义在类中,所以,它没法被其页面类(空间)来使用。
因此,我重新按照vs.net的aspx页面规则定义如下:
namespace MyControls {
public class myEditor :system.web.ui.usercontrol......
...........
然后在原来的aspx文件中,引用类,定义属性。。。编译通过。。。
原来这么简单。
