代码之家  ›  专栏  ›  技术社区  ›  AaronS

如何将使用#include文件的网站升级为web应用程序

  •  0
  • AaronS  · 技术社区  · 16 年前

    我最近继承了一个相当大的网站。该项目在Visual studio中设置为网站,而不是web应用程序。出于多种原因,我想将其转换为web应用程序。

    我开始按照Scott Gu的指示转换应用程序: Migrating a VS 2005 Web Site Project to VS 2005 Web Application Project .

    在进行转换时,我发现这个网站使用了大量的#include指令来包含其他.aspx文件。这样做的主要问题是,目前每个代码隐藏文件都直接从它所包含的页面调用控件(使用this.)。

    编译器在编译时在内存中动态创建.designer文件的方式似乎允许这种行为。

    问题是,由于我正在将应用程序转换为Web应用程序,因此我正在创建.designer文件的物理版本。现在,对包含页面上的控件的相同调用(使用this.)不再有效。

    我尝试了一些方法来弥补这一点:

    首先,我注意到.aspx包含文件没有@Page指令,所以我尝试添加一个。这阻止了应用程序的编译,因为主页现在有多个@page指令。

    第二,我试图将包含的.aspx文件重命名为.inc,但我仍然存在主页面无法像以前那样访问控件的问题。

    有人以前做过这件事,对如何在不改变网站整体结构的情况下继续进行有什么想法吗?

    编辑:我决定现在不进行转换,仅仅是因为所获得的任何好处都不值得麻烦。谢谢你的帮助。

    2 回复  |  直到 16 年前
        1
  •  1
  •   Norbert B. MJB    16 年前
    • 如果在旧情况下将包含的aspx文件用作代码库,则应将其转换为类
    • 您应该将包含html、服务器和/或html控件的aspx文件转换为用户控件(ascx文件)

    目前,这应该是一个良好的开端。稍后,你可以根据自己的口味进行重构。

    希望它能有所帮助。

        2
  •  0
  •   Joel Coehoorn    16 年前

    您需要将#包含的内容重构为可以在主页中使用的类和控件。

    ASP。网络将 做#包括。