私は2つのプロジェクトを持つソリューションを持っています:
CustomControls
カスタム コントロール (.cs ファイル) がありますWebPages
aspx ページがあります
コントロールの 1 つには、次のようなプロパティがあります。
---- Platform.CustomControls
名前空間で定義 -------
[Category("Search Mode"),
DefaultValue(SearchTextBoxModeEnum.global),
Personalizable(PersonalizationScope.Shared),
TypeConverter("String"),
WebBrowsable(true),
WebDisplayName("SearchTextBoxMode"),
WebDescription("SearchTextBoxMode")]
public SearchTextBoxModeEnum SearchTextBoxMode
{
set;
get;
}
---- Platform.CustomControls.Interface
名前空間で定義 -------
public enum SearchTextBoxModeEnum
{
global,
forms,
products,
internet
}
このプロジェクトは正常にビルドされます。
Web ページ プロジェクトでこのプロジェクトを参照し、コントロール マークアップにプロパティを追加すると、他のすべての列挙型が表示されますが、「インターネット」は IntelliSense に表示されません。
<Platform:searchtextbox id="SearchTextBox3" runat="server" SearchTextBoxMode="internet" pagename="xyz">
</OnlinePlatform:ecmssearchtextbox>
ブラウザでページを実行すると、次のエラーが表示されます。
'SearchTextBoxMode' プロパティの文字列表現 'internet' からタイプ Platform.CustomControls.Interface.SearchTextBoxModeEnum' のオブジェクトを作成できません。
追加された参照を使用してすべての詳細を確認しました (オブジェクト ブラウザーと ILDASM.exe でプロパティを確認できます)。