C# 将WS转换为WAP
我一直在尝试按照msdn上提供的指南将我的asp.net网站转换为web应用程序。但是,我的一些实现模板的UserControl遇到了问题,出现了以下错误: “System.Web.UI.UserControl”没有名为“ContentTemplate”的公共属性 codebehind清楚地定义了这样的模板属性,它在WS中运行良好C# 将WS转换为WAP,c#,asp.net,C#,Asp.net,我一直在尝试按照msdn上提供的指南将我的asp.net网站转换为web应用程序。但是,我的一些实现模板的UserControl遇到了问题,出现了以下错误: “System.Web.UI.UserControl”没有名为“ContentTemplate”的公共属性 codebehind清楚地定义了这样的模板属性,它在WS中运行良好 [TemplateContainer(typeof(ContentContainer))] [PersistenceMode(PersistenceMode.Inne
[TemplateContainer(typeof(ContentContainer))]
[PersistenceMode(PersistenceMode.InnerProperty)]
[TemplateInstance(TemplateInstance.Single)]
public ITemplate ContentTemplate { get; set; }
更新:我不知道如何或为什么,但其中一些控件已成功转换为WAP usercontrols(添加了设计器文件),问题是在代码隐藏中再也找不到我在这些模板中定义的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>
有什么想法吗?如果找不到名称空间问题,我会猜测
对于页面声明,我通常会遇到类似的问题,但对于用户控件来说可能也是如此。我同意这可能是一个名称空间问题。网站项目本来是孩子们的东西,名字空间对孩子们来说太复杂了。使用Web应用程序项目意味着您已经转移到成年人的桌子上
我建议您开始完全限定您的自定义类型名称,直到您能够正确地构建整个类型,并将类放在正确的名称空间中。添加名称空间对您有部分帮助。页面代码隐藏中的“名称“TextBoxUserName”在当前上下文中不存在”之类的错误会随机显示。在一个空的WAP解决方案中编写类似的代码不会产生任何错误,感觉非常随意。在谷歌搜索这个问题时,首要的解决方案是选择cs文件作为“嵌入式资源”,允许它进行编译,但会产生副作用。不应该编译cs文件背后的代码吗?