我定义了一个名为MyControls的Web控件库(Web Control Library),和一个WEB应用程序。前者用于新建自定义控件,后者用于测试控件。
而MyControls就是默认生成的代码,我也编译成功了,也在WEB应用程序里添加了引用(MyControls.dll)文件。
但是他总是报告错误:
“/WebTest”应用程序中的服务器错误。
--------------------------------------------------------------------------------分析器错误
说明: 在分析向此请求提供服务所需资源时出错。请检查下列特定分析错误详细信息并适当地修改源文件。 分析器错误信息: 未能从程序集 MyControls, Version=1.0.2307.32074, Culture=neutral, PublicKeyToken=null 中加载类型 MyControls.MyControls。源错误:
行 13: <form id="Form1" method="post" runat="server">
行 14: <FONT face="宋体"></FONT>
行 15: <ucc:MyControls id="Control1" runat="server" Text="Hello"></ucc:MyControls>
行 16: </form>
行 17: </body>
源文件: C:\My\WebTest\WebForm1.aspx 行: 15 我觉得这没有错误啊。
请哪位高人帮解答下。不胜感激
而MyControls就是默认生成的代码,我也编译成功了,也在WEB应用程序里添加了引用(MyControls.dll)文件。
但是他总是报告错误:
“/WebTest”应用程序中的服务器错误。
--------------------------------------------------------------------------------分析器错误
说明: 在分析向此请求提供服务所需资源时出错。请检查下列特定分析错误详细信息并适当地修改源文件。 分析器错误信息: 未能从程序集 MyControls, Version=1.0.2307.32074, Culture=neutral, PublicKeyToken=null 中加载类型 MyControls.MyControls。源错误:
行 13: <form id="Form1" method="post" runat="server">
行 14: <FONT face="宋体"></FONT>
行 15: <ucc:MyControls id="Control1" runat="server" Text="Hello"></ucc:MyControls>
行 16: </form>
行 17: </body>
源文件: C:\My\WebTest\WebForm1.aspx 行: 15 我觉得这没有错误啊。
请哪位高人帮解答下。不胜感激
<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="WebTest.WebForm1" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>WebForm1</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<FONT face="宋体"></FONT>
<ucc:MyControls id="Control1" runat="server" Text="Hello"></ucc:MyControls>
</form>
</body>
</HTML>
然后添加引用试试。
你的NameSpace位MyControls.你的类名如果也位MyControls的话一定会出错。
剩下的自己在找找吧
另外我觉得最好用code-behind.看起来清楚。编程的时候也有提示。
命名空间和类名相同了吧?
我的命名空间和类名不相同啊。Namespace为MyControls 类名为MyControl
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;namespace MyControls
{
/// <summary>
/// WebCustomControl1 的摘要说明。
/// </summary>
[DefaultProperty("Text"),
ToolboxData("<{0}:WebCustomControl1 runat=server></{0}:WebCustomControl1>")]
public class MyControl : System.Web.UI.WebControls.WebControl
{
private string text; [Bindable(true),
Category("Appearance"),
DefaultValue("")]
public string Text
{
get
{
return text;
} set
{
text = value;
}
} /// <summary>
/// 将此控件呈现给指定的输出参数。
/// </summary>
/// <param name="output"> 要写出到的 HTML 编写器 </param>
protected override void Render(HtmlTextWriter output)
{
output.Write(Text);
}
}
}