Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.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# ASP 2.0和部分类_C#_Asp.net_Asp.net 2.0 - Fatal编程技术网

C# ASP 2.0和部分类

C# ASP 2.0和部分类,c#,asp.net,asp.net-2.0,C#,Asp.net,Asp.net 2.0,我们的一个承包商给了我们一个ASP.NET2.0网站,我在将它集成到我们的流程中时遇到了一些问题。他给我们的项目是一个压缩目录,没有解决方案文件或任何东西。我可以在VisualStudio中使用“打开->网站”选项打开它,然后网站运行。然而,我想将它设置为一个web应用程序项目,这样我就可以将项目引用添加到我们的共享库中,而不是将它们链接到“bin”目录中,这仅仅是因为我更希望有一个常规项目 我遇到了一个奇怪的问题。让我提取一些代码: HeaderControl.ascx <%@ Cont

我们的一个承包商给了我们一个ASP.NET2.0网站,我在将它集成到我们的流程中时遇到了一些问题。他给我们的项目是一个压缩目录,没有解决方案文件或任何东西。我可以在VisualStudio中使用“打开->网站”选项打开它,然后网站运行。然而,我想将它设置为一个web应用程序项目,这样我就可以将项目引用添加到我们的共享库中,而不是将它们链接到“bin”目录中,这仅仅是因为我更希望有一个常规项目

我遇到了一个奇怪的问题。让我提取一些代码:

HeaderControl.ascx

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="HeaderControl.ascx.cs" Inherits="Controls_WebUserControl" %>
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="SomeControl.ascx.cs" Inherits="Controls_WebUserControl" %>
好吧,这有点奇怪,但至少看起来是合法的。基类在代码隐藏(代码文件?)中有一个部分定义。但许多其他控件都是以相同的方式定义的,例如

SomeControl.ascx

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="HeaderControl.ascx.cs" Inherits="Controls_WebUserControl" %>
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="SomeControl.ascx.cs" Inherits="Controls_WebUserControl" %>
可以预料的是,当我尝试构建我的新web应用程序项目时,我已经将文件传输到了其中,我在几个地方遇到了一系列关于同一方法定义的错误。我不明白为什么它没有设置代码来定义控制类的部分定义和基类的重写方法,但这有点离题了


真正让我感兴趣的是:原作是如何创作的?它运行正常,所以编译器一定在做我不理解的事情。控件\u WebUserControl类会发生什么情况?

实际上,您需要将
CodeFile=“SomeControl.ascx.cs”
替换为
codebeahind=“SomeControl.ascx.cs”


实际上,您需要将
CodeFile=“SomeControl.ascx.cs”
替换为
codebeahind=“SomeControl.ascx.cs”


从网站更改为web应用程序时,需要右键单击项目并选择“转换为web应用程序”。这将更新所有页面

这是一个老链接,但我认为它仍然相关:


从网站更改为web应用程序时,需要右键单击项目并选择“转换为web应用程序”。这将更新所有页面

这是一个老链接,但我认为它仍然相关:


我想说,虽然提供的站点可以工作,但它是不正确的

它之所以有效,是因为它是一个Web站点项目(与Web应用程序项目相反)。网站项目没有网页的名称空间;相反,它分别编译每个页面。换句话说,您可以说页面的类名被忽略了

当您将其引入Web应用程序项目时,它会失败,因为该项目尝试构建命名空间,而失败的原因是跨Web页面和控件的通用类名


我右键单击,选择Convert to Web Application,然后修复页面和控件上的类名。这会让你到达你想去的地方

我要说的是,虽然提供的站点可以工作,但它是不正确的

它之所以有效,是因为它是一个Web站点项目(与Web应用程序项目相反)。网站项目没有网页的名称空间;相反,它分别编译每个页面。换句话说,您可以说页面的类名被忽略了

当您将其引入Web应用程序项目时,它会失败,因为该项目尝试构建命名空间,而失败的原因是跨Web页面和控件的通用类名


我右键单击,选择Convert to Web Application,然后修复页面和控件上的类名。这会让你到达你想去的地方

顺便说一句,你和承包商谈过获得解决方案吗?这是一个网站,所以没有项目文件。顺便说一句,你和承包商谈过获得解决方案吗?这是一个网站,所以没有项目文件。谢谢!我刚读到关于asp.net内存编译的文章,你的帖子证实了我的想法。我同意你的看法——尽管这样做有效,但这种设置是一种糟糕的做法。实际上,在运行无向导文件之前,我将修复类名。谢谢!我刚读到关于asp.net内存编译的文章,你的帖子证实了我的想法。我同意你的看法——尽管这样做有效,但这种设置是一种糟糕的做法。在运行无向导文件之前,我实际上要修复类名。