Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将WS转换为WAP_C#_Asp.net - Fatal编程技术网

C# 将WS转换为WAP

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

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

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

codebehind清楚地定义了这样的模板属性,它在WS中运行良好

[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文件背后的代码吗?