16

だから私は別のヌードルスクラッチャーを持っています(とにかく私にとって)。

部分的なソースコードしかないCMSで独自のカスタムコントロールを作成しようとしています(つまり、ベンダーから提供されたサンプル)。基本的に、DataDefinitionContentを拡張するというクラスを作成しましたControlBase。さて、メタデータから得られるものから、ControlBase拡張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" %>

私が得ているエラー:

パーサーエラーメッセージ:'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 に答える