私は、asp.net Webサイトをmsdnのガイドに従ってWebアプリケーションに変換しようとしていました。ただし、次のエラーを取得し、テンプレートを実装して、私のユーザーコントロールのいくつかの問題点に遭遇アイブ:WSをWAPに変換する
「System.Web.UI.UserControlは」「ContentTemplate」
という名前のパブリックプロパティを持っていません。コードビハインドは、WSのようにうまく動作するこのようなテンプレートプロパティを明確に定義します。
[TemplateContainer(typeof(ContentContainer))]
[PersistenceMode(PersistenceMode.InnerProperty)]
[TemplateInstance(TemplateInstance.Single)]
public ITemplate ContentTemplate { get; set; }
アップデート:私は知っているどのようにか、なぜいけないが、これらのコントロールのいくつかは(追加デザイナーのファイルで)WAPのユーザーコントロールに変換するために管理している、との問題は、私はこれらのテンプレート内で定義なしASPコントロールができることですコードの背後にはもう見つからない。
エラー:
<%@ Register src="~/Controls/Containers/ContainerFrame.ascx" tagname="ContainerFrame" tagprefix="uc" %>
<uc:ContainerFrame ID="ContainerFrame1" Title="Layout" runat="server">
<ContentTemplate>
<asp:DropDownList ID="DropDownRoles" runat="server" />
</ContentTemplate>
</uc:ContainerFrame>
任意のアイデア:
名は 'DropDownRoles' は現在のコンテキスト
でマークアップを存在しないのですか?
名前空間を追加すると、部分的に役立ちました。 「名前 'TextBoxUserName'は現在のコンテキストに存在しません」というエラーはページのコードビハインドからランダムに表示されます。 空のWAPソリューションに類似のコードを書き込んでもエラーが発生しなかったため、非常にランダムに感じられました。 問題を突き詰めるとき、最善の解決策は、csファイルを「組み込みリソース」として選択してコンパイルできるようにすることでしたが、結果として副作用が生じました。コードビハインドcsファイルをコンパイルする必要はありませんか? – CodeSpeaker