将WS转换为WAP

时间:2009-08-14 09:06:26

标签: c# asp.net

我一直在尝试按照msdn上提供的指南将我的asp.net网站转换为网络应用程序。但是,我遇到了一些实现模板的usercontrols的问题,收到以下错误:

'System.Web.UI.UserControl'没有名为'ContentTemplate'的公共属性

代码隐藏明确定义了这样的模板属性,它在WS中运行良好。

[TemplateContainer(typeof(ContentContainer))]
[PersistenceMode(PersistenceMode.InnerProperty)]
[TemplateInstance(TemplateInstance.Single)]
public ITemplate ContentTemplate { get; set; }

更新:我不知道如何或为什么但是这些控件中的一些已经设法转换为WAP用户控件(添加了设计器文件),然后问题是我在这些模板中定义的asp控件不再可以找到代码背后。

错误:

当前上下文中不存在“DropDownRoles”这个名称

标记:

<%@ 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>

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

如果无法找到它,我会猜到命名空间问题。

我通常在页面声明方面遇到这样的问题,但对于用户控件来说可能是相同的

答案 1 :(得分:1)

我同意这可能是命名空间问题。网站项目旨在成为孩子的东西,命名空间对于孩子来说太复杂了。使用Web应用程序项目意味着您已经移动到成年人的表中。

我建议您开始完全限定自定义类型名称,直到您完全正确构建,并使用正确名称空间中的类。