Mon contrôle “n'est pas autorisé ici en raison de ne pas étendre la classe "Système".Web.L'INTERFACE utilisateur.UserControl'”

Donc, j'ai un autre nouille-scratcher (pour moi en tout cas).

Je suis en train de créer mon propre contrôle personnalisé dans un CMS je n'ai que partielle code source (c'est à dire des échantillons, le vendeur a fourni pour moi). Fondamentalement, j'ai créé une catégorie appelée DataDefinitionContent qui s'étend ControlBase. Maintenant, à partir de ce que je peut obtenir à partir des métadonnées, ControlBase s'étend UserControl, donc j'aurais pensé que ce serait exécuté sans drame. Quelqu'un peut nous donner un indice sur le pourquoi cela ne fonctionne pas pour moi?


Ma Classe:

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

ControlBase:

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

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

L'erreur que je reçois:

Analyseur Message D'Erreur:
'CMS.Admin.L'interface utilisateur web.CustomControls.DataDefinitionContent,
CoA.Admin.L'Interface Utilisateur Web, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=null'
n'est pas autorisé ici parce qu'il n'
ne pas étendre la classe
'Système.Web.L'INTERFACE utilisateur.UserControl'.

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

Est votre classe partielle à l'intérieur d'un espace de noms?
En fait, non, il n'est pas. Pouvez-vous me donner une idée de comment je pourrais aller sur le déchiffrage d'espace de noms, je devrais le mettre dans? (OP est encore un newbie)
eh bien, vous avez ="CMS.Admin.L'interface utilisateur web.CustomControls.DataDefinitionContent, CoA.Admin.L'interface utilisateur web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" dans votre Hérite qui je ne pense pas que vous avez besoin. L'espace de noms ressemble à de la CMS.Admin.L'interface utilisateur web.CustomControls, si controlbase ressemble à son CMS.Web

OriginalL'auteur Iain Fraser | 2009-11-03