16

所以我有另一个面条刮刀(无论如何对我来说)。

我正在尝试在只有部分源代码的 CMS 中创建自己的自定义控件(即供应商提供给我的示例)。基本上我创建了一个名为DataDefinitionContentwhich extends的类ControlBase。现在,根据我可以从元数据中获得的内容,ControlBaseextends UserControl,所以我原以为这会在没有戏剧的情况下运行。谁能解释为什么这对我不起作用?


我的课:

public partial class DataDefinitionContent : ControlBase, ICustomControl<DataDefinition>
{
... Stuff
}

控制基础:

using System;
using System.Web.UI;
namespace CMS.Web
{
    public class ControlBase : UserControl
    {
    ... Stuff
    }
}

我的 ascx 文件:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="DataDefinitionContent.ascx.cs"
    Inherits="CMS.Admin.WebUI.CustomControls.DataDefinitionContent, CoA.Admin.WebUI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" %>

我得到的错误:

解析器错误消息:'CMS.Admin.WebUI.CustomControls.DataDefinitionContent, CoA.Admin.WebUI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' 因为它不扩展类'System.Web. UI.UserControl'。

第 1 行:<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="DataDefinitionContent.ascx.cs"

4

3 回答 3

12

尝试将您的部分课程放入

namespace CMS.Web 
于 2009-11-03T06:21:58.073 回答
6

当扩展 UserControl 类的类的名称不是 ASP 包含中使用的名称时,我收到此错误。我更改了类名并重新部署了解决方案。问题已解决。

于 2012-07-23T15:56:09.377 回答
0

在我的情况下,由于缺少命名空间而引发了错误。

于 2022-01-31T10:22:22.427 回答