郁闷!!!!关于自定义控件问题!

zjhzzc001 2006-12-07 10:08:53
新建一个项目News,下有一个类Navigator.cs编译后生成News.dll.
在网站项目中引用News.dll,
在aspx文件中注册:
<%@Register TagPrefix="AA" namespace="XXX" Assembly="News"%>

再使用:
<AA:Navigator runat="Server"/>

错误提示:Navigator是未知的服务器标记,不知是什么原因?
...全文
149 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjhzzc001 2006-12-08
  • 打赏
  • 举报
回复
已搞定,多加了一个abstract.

public abstract class Navigator : System.Web.UI.Control

哈......

散分.
  • 打赏
  • 举报
回复
不要看你的ascx中出的错误,即使它可能显示在错误提示的前边也不要看。看看Navigator.cs除了什么错。最好,把类似Navigator.cs这样的所有不是ascx和aspx的code behind的类型,都单独放到别的工程里,然后在网站里引用这个工程。首先编译成功这个工程,不要跟网站代码混乱在一个层次里。
活靶子哥哥 2006-12-08
  • 打赏
  • 举报
回复
<%@Register TagPrefix="AA" namespace="Gsjy.SourVer.WebModules.News.ServerControls" Assembly="AssemboyName"%>
zjhzzc001 2006-12-08
  • 打赏
  • 举报
回复
把代码贴上,请大家帮助:
==============================
类Navigator.cs
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml;
using System.Xml.XPath;
using System.Xml.Xsl;

/// <summary>
/// 新闻模块服务器控件Navigator.cs
/// </summary>
namespace Gsjy.SourVer.WebModules.News.ServerControls
{
public abstract class Navigator : System.Web.UI.Control
{
string transformFilePath;
string sourceFilePath;
public Navigator()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public string TransformFile
{
get
{
return transformFilePath;
}
set
{
transformFilePath = value;
}
}

public string SourceFile
{
get
{
return sourceFilePath;
}
set
{
sourceFilePath = value;
}
}

protected override void OnInit(EventArgs e)
{
base.OnInit(e);
}

protected override void Render(HtmlTextWriter writer)
{
XPathDocument xdoc = new XPathDocument(Context.Server.MapPath(sourceFilePath));
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load(Context.Server.MapPath(transformFilePath));
xslt.Transform(xdoc,null,writer);
}

}
}

=============================================================
引用cs文件
namespace Gsjy.SourVer.WebModules.News.UserControls
{
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Gsjy.SourVer.WebModules.News;
using Gsjy.SourVer.WebModules.News.ServerControls;

public abstract partial class GsHeader: System.Web.UI.UserControl
{
protected Gsjy.SourVer.WebModules.News.ServerControls.Navigator HotLink;
protected void Page_Load(object sender, EventArgs e)
{


}
}
}
========================================================================
引用aspx文件
<%@Control Language="C#" AutoEventWireup="true" CodeFile="GsHeader.ascx.cs" Inherits="Gsjy.SourVer.WebModules.News.UserControls.GsHeader" %>

<%@ Register TagPrefix ="Gsjy" Namespace="Gsjy.SourVer.WebModules.News.ServerControls" Assembly="News" %>

<link href="/SourVer/Style/Header.css" rel="StyleSheet" />
<link href="/SourVer/Style/HotLink.css" rel="StyleSheet" />

<!--头用户控件主体-->
<div id="HeaderBody">
<div id="HeaderLogo" style="background-image: url(/SourVer/WebImg/logo.gif);">
</div>
<div id="HeaderWrapper">
<div id="HeaderFuncBar"> <!--用户帐号信息及相应功能-->
<ul>
<li>注册</li>
<li>登录</li>
<li>管理</li>
</ul>
</div>
<div id="HeaderDownDropMenu"> <!--下拉菜单-->
</div>
<div id="HeaderHotLink"> <!--热点链接-->

<Gsjy:Navigator id="HotLink" sourceFile="~/Config/HotLink.xml" transformFile="~/Config/HotLink.xslt" runat="server" />

</div>
</div>
</div>
=============================================
以上提示:
错误 1 无法创建抽象类或接口“Gsjy.SourVer.WebModules.News.ServerControls.Navigator”的实例 F:\Web\SourVer\WebModules\News\UserControls\GsHeader.ascx 24
错误 2 元素“Navigator”不是已知元素。原因可能是网站中存在编译错误。 F:\Web\SourVer\WebModules\News\UserControls\GsHeader.ascx 24 16 F:\Web\SourVer\
两个错误,请帮忙看看错在那里,已研究了三天了,好象没什么问题,原来在VS2003下是正常的,
但不知为什么到了,VS2005下就出现错误了.

softfire007 2006-12-07
  • 打赏
  • 举报
回复
是啊
让VS自己生成 看有没有问题
有问题就是你的控件DLL有问题
hchxxzx 2006-12-07
  • 打赏
  • 举报
回复
在控件窗口中添加此DLL,然后拖动到页面,看生成的可不可以
sunjay117 2006-12-07
  • 打赏
  • 举报
回复
建议看看Navigator是不是自定义控件

62,254

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧