我想在.net2003下做个自定义控件,按照<asp.net 揭秘>这本书28章的第一个例子做,书上是用vb写的,我照着它用c#做:
    New Project:
       Project Types:                               Templates:
        Visual c# projects                           Class Library    Name:myControls
    Location:......    在产生的myControls项目文件夹下有个Class1.cs,内容有:
using System;
namespace myControls
{
    public class Class1
    {
       public Class1()
       {
       }
    }
}   
按照例子在此文件中引入名称空间,继承,去掉构造函数并添加Render函数如下:
using System;
using System.Web;
using System.Web.UI;
namespace myControls
{
    public class myControls:Control
    {
        protected override Render(HtmlTextWriter objTextWriter)
       {
          objTextWriter.Write("Hello World!");
       }    
    }
}
书上说vbc /t:....这么编译,没写c#怎么编译。
我就直接运行集成开发环境的编译菜单项,编译后bin/debug目录下产生myControls.dll下面是调用页面:
先添加引用:Add Reference browse 选中添加myControls/bin/debug/myControls.dll
然后在ComponentTest2.aspx调用
ComponentTest2.aspx默认的还有一个ComponentTest2.aspx.cs但书上的例子并没有用.cs文件
所以我只在.aspx中添加如下内容,没管.cs
<%@ Page language="c#" %>
<%@ Register TagPrefix="myControls" Namespace="myControls" Assembly="Class1" %>
<html>
<head><title>...</title></head>
  <body>
    <myControls:Class1 Runat="Server" />
  </body>
</html>但是运行后提示错误:找不到文件或程序集"Class1",或其依赖项。
请问我在上述过程中的错误是什么??多谢各位了。给100分。

解决方案 »

  1.   

    vb不是太懂,在C#中你要自定义控件比较快的方法是,在新建项目中选择自定义控件,或者在你的项目上由键选择添加进来一个自定义控件,
    然后在其中的CS文件中键入你的代码
    using System;
    using System.Web;
    using System.Web.UI;
    namespace myControls
    {
        public class myControls:Control
        {
            protected override Render(HtmlTextWriter objTextWriter)
           {
              objTextWriter.Write("Hello World!");
           }    
        }
    }然后把这个自定义控件生成一下,你就可以在你的项目中引用这个自定义控件了,
    好久没用过了,也不知道对不,楼主试试看
      

  2.   

    <%@ Page language="c#" %>
    <%@ Register TagPrefix="myControls" Namespace="myControls" Assembly="myControls" %>
    <html>
    <head><title>...</title></head>
      <body>
        <myControls:myControls Runat="Server" />
      </body>
    </html>
      

  3.   

    <%@ Register TagPrefix="myControls" Namespace="myControls" Assembly="Class1" %>改下啦,搜索你的命名空间myControls并不能找到class1这个类
    <%@ Register TagPrefix="myControls" Namespace="myControls" Assembly="myControls" %>OK了 希望调试成功
      
    *****************************************************************************
    最近没想出什么好签名!