经典的ASP Intranet和新的ASP.NET应用程序

Spr*_*ogz 6 asp.net asp-classic visual-studio

我们有一个由数百页组成的经典ASP内部网.它的目录结构如下所示......

/root
    app_1
    app_2
    ...
    img
    js
    style
Run Code Online (Sandbox Code Playgroud)

显然app_1等在实际目录结构中有更好的名称.

尽管许多应用程序具有不同的行为,但它们都是同一内部网的一部分,因此通过/ style包含样式表,通过/ img包含图像,通过/ js包含客户端脚本,共享一个共同的外观和感觉.

当我想在ASP.NET中添加Intranet应用程序时,麻烦(至少对我而言)来了.

最终,我想要这个结构:

/root
    app_1
    app_2
    dotnetapp_1
    dotnetapp_2
    ...
    img
    js
    style
Run Code Online (Sandbox Code Playgroud)

在我看来,ASP.NET"应用程序"喜欢将自己视为与周围的一切分开(这可能仅仅是我对它们的理解).您在Visual Studio中创建一个新的"项目",就好像您有一个新的"根"级别低于我想要使用的实际根目录.这就像这个新的应用程序是一个独立的东西,有自己的图像和风格等等.但是,我希望它是现有内部网的子部分.

最终我希望能够使我的整个经典ASP内联网成为"根"并拥有仍然可以访问/样式和/ img的ASP.NET"子应用程序",我想对于ASP.NET我将拥有/ masterpages .

我之前尝试过这个,但是当我将现有的Intranet根目录改为ASP.NET项目根目录时(通过File-> Open->),我认为VS在几百个经典的ASP页面上窒息了它添加到"项目"中网站).我很高兴使用VS 2008 SP1编辑我现有的经典ASP内部网(我目前使用优秀的Notepad ++),因为我想更多地使用VS,但我想这不是绝对必要的.

我还尝试将每个新的ASP.NET应用程序本身视为一个应用程序,有效地使/ dotnetapp_1目录成为应用程序的"根"(同样,通过VS2008中的File-> Open-> Web站点).然而,当我尝试引用/ masterpages时,VS然后抱怨,因为它"属于另一个应用程序".我想通过在每个ASP.NET目录中添加一个"指向"root/masterpages的虚拟目录来克服它,但我不确定VS是否能够愉快地提供WYSIWYG编辑,而不是制作副本我添加到Intranet的每个ASP.NET应用程序中的母版页.

我也很有可能访问.NET MVC框架,所以请记住该框架的任何答案.我希望"项目"对于MVC来说并不重要,而只是它只是一堆文件创建了一个有助于整个(作为内部网)的应用程序.

所以,问题是:我如何最好地将ASP.NET应用程序添加到现有的经典ASP内部网(我不关心经典ASP和ASP.NET之间的会话共享的技术性,只关注目录的结构布局和项目)并能够在Visual Studio 2008 SP1中编辑这些单独的应用程序,并使这些应用程序通过通用的Intranet外观相互"相关"*?

  • 请不要只回答"使用MasterPages".我很欣赏MasterPages是.NET在同一个应用程序中相关页面之间共享样式(更可能)的方法.我明白了.我正在寻找的是尽可能顺利地将ASP.NET应用程序添加到现有Intranet中的最佳方法,这使得编辑每个应用程序变得简单,并且每个应用程序可以共享(如果可能)Intranet共同样式.

roh*_*agg 2

一种解决方案是使用 IIS 管理器配置网站(由 Visual Studio 为 ASP.NET 应用程序创建)并为每个公共文件夹添加一个虚拟目录,以便(通过虚拟目录的“虚拟”性质)它们将“显示”与您的 ASP.NET 应用程序位于同一根文件夹中。

/root
  app_1
  app_2
  dotnetapp_1
    <virtual>img
    <virtual>js
  ...
  img
  js
  style
Run Code Online (Sandbox Code Playgroud)

如果您需要批量执行此操作,您可以编写 IIS 脚本或编辑 XML 文件,而且我确信一定有一种更优雅的方法来执行类似的操作,而不需要太多的鼠标工作!