在Visual Studio中,新建一个网站有两种方式:ASP.NET Web Site与ASP.NET Web Application。与Web Site相比,Web Application有很多优势。网上已经有很多文章来讲述它们的区别了,Visual Studio的官方博客有一篇文章讲述了它们各自的优劣点。这里以Visual Studio 2010为例,新建一个Web Site的操作如下:
498)this.width=498;'' onmousewheel = ''javascript:return big(this)'' title="2012-05-19_174511" style="border-top-width: 0px; padding-right: 0px; display: inline; padding-left: 0px; border-left-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; border-right-width: 0px" height="379" alt="2012-05-19_174511" src="/uploadfile/201301/5/11152037574.png" width="680" border="0" />
很简单。网站项目中除了该有的ASPX文件外,应该还有很多辅助的的CS文件,比如数据库操作的,字符串操作等等所谓的辅助类。很多时候,我们可以新建一个Class Library来包含这些文件,以达到代码复用的目的。但有些时候,很多类文件只适用于当前的网站,或者我们不想搞得那么复杂,想直接在Web Site中添加类文件。这时Visual Studio会弹出一个对话框来告诉你应该把类文件放在一个称为App_Code的文件夹中:
498)this.width=498;'' onmousewheel = ''javascript:return big(this)'' title="2012-05-19_175758" style="border-top-width: 0px; padding-right: 0px; display: inline; padding-left: 0px; border-left-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; border-right-width: 0px" height="199" alt="2012-05-19_175758" src="/uploadfile/201301/5/B8152038513.png" width="496" border="0" />
可以看到,这个App_Code的图标是区别与一般文件夹的:
498)this.width=498;'' onmousewheel = ''javascript:return big(this)'' title="2012-05-19_180113" style="border-top-width: 0px; padding-right: 0px; display: inline; padding-left: 0px; border-left-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; border-right-width: 0px" height="78" alt="2012-05-19_180113" src="/uploadfile/201301/5/DE152039103.png" width="169" border="0" />
与此类似的还有一些特殊的文件夹,我们可以在Web Site的名称上点右键,选择 “Add ASP.NET Folder”:
498)this.width=498;'' onmousewheel = ''javascript:return big(this)'' title="2012-05-19_214313" style="border-top-width: 0px; padding-right: 0px; display: inline; padding-left: 0px; border-left-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; border-right-width: 0px" height="323" alt="2012-05-19_214313" src="/uploadfile/201301/5/57152039403.png" width="580" border="0" />
关于这些特殊文件夹的作用,可以查阅MSDN上的这篇文章:ASP.NET Web Project Folder Structure。
放在App_Code 文件夹中的源文件,CLR将会在运行时自动对这些代码进行编译。Web Site中的其他任何代码都可以访问产生的程序集。因此,App_Code 文件夹的工作方式与 Bin 文件夹很类似,不同之处是您可以在其中存储源代码而非已编译的代码。App_Code 文件夹及其在 ASP.NET Web 应用程序中的特殊地位使您可以创建自定义类和其他仅源代码文件,并在 Web 应用程序中使用它们而不必单独对它们进行编译。更多App_Code文件夹与Bin文件夹的介绍,请点击这里。
好了,当我们新建ASP.NET Web Application项目的时候,我们也想像这样添加一些和项