我想在.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分。
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分。
然后在其中的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!");
}
}
}然后把这个自定义控件生成一下,你就可以在你的项目中引用这个自定义控件了,
好久没用过了,也不知道对不,楼主试试看
<%@ Register TagPrefix="myControls" Namespace="myControls" Assembly="myControls" %>
<html>
<head><title>...</title></head>
<body>
<myControls:myControls Runat="Server" />
</body>
</html>
<%@ Register TagPrefix="myControls" Namespace="myControls" Assembly="myControls" %>OK了 希望调试成功
*****************************************************************************
最近没想出什么好签名!