Ответ 1
Попробуйте добавить свой частичный класс в
namespace CMS.Web
Итак, у меня есть еще один лапша-царапина (для меня все равно).
Я пытаюсь создать собственный пользовательский элемент управления в 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"
Попробуйте добавить свой частичный класс в
namespace CMS.Web
Я получал эту ошибку, когда имя класса, расширяющего класс UserControl, не было именем, используемым при включении ASP. Я внес изменения в имя класса и перераспределил решение. Проблема была исправлена.