Мой элемент управления "не разрешен здесь, потому что он не расширяет класс" System.Web.UI.UserControl ""

Итак, у меня есть еще один лапша-царапина (для меня все равно).

Я пытаюсь создать собственный пользовательский элемент управления в CMS. У меня есть только частичный исходный код (например, образцы, которые поставщик предоставил мне). В основном я создал класс под названием DataDefinitionContent, который расширяет ControlBase. Теперь, из того, что я могу получить из метаданных, ControlBase extends UserControl, я бы подумал, что это будет работать без драмы. Может ли кто-нибудь пролить свет на то, почему это может не работать для меня?


Мой класс:

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

ControlBase:

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" %>

Ошибка, которую я получаю:

Сообщение об ошибке Parser: "CMS.Admin.WebUI.CustomControls.DataDefinitionContent, CoA.Admin.WebUI, Version = 1.0.0.0, Культура = нейтральная, PublicKeyToken = null ' здесь не допускается, потому что это не расширять класс 'System.Web.UI.UserControl.

Строка 1: <% @Язык управления =" С# "AutoEventWireup =" true "CodeBehind =" DataDefinitionContent.ascx.cs"

Ответы

Ответ 1

Попробуйте добавить свой частичный класс в

namespace CMS.Web 

Ответ 2

Я получал эту ошибку, когда имя класса, расширяющего класс UserControl, не было именем, используемым при включении ASP. Я внес изменения в имя класса и перераспределил решение. Проблема была исправлена.