自学ArcGIS Server开发,在利用.net开发的过程中遇到如题的问题,研究了一下,下面是根据网络资料的总结,供有疑问的人参考!
    先看一下百度百科关于partial的解释:
  c#2.0引入了局部类型的概念。局部类型允许我们将一个类、接口或结构分成好几个部分,分别实现在几个不同的.cs文件中。
  局部类型是一个纯语言层的编译处理,不影响任何执行机制--事实上c#编译器在编译的时候仍会将各个部分的局部类型合并成一个完整的类。
  public partial class Program
  {
  static void main(string[] args)
  {}
  }
    下面的类在另一个cs文件中。
  partial class Program
  {
  public void test()
  {}
  }    asp.net 中 .aspx文件继承自.aspx.cs文件,虽然一个 Web 窗体页由两个单独的文件组成,但这两个文件在应用程序运行时形成了一个整体。
    A.项目中所有 Web 窗体的代码隐藏类文件(.aspx.cs文件)都被编译成由项目生成的动态链接库 (.dll) 文件。
    B.Web 窗体 .aspx 页文件也会被编译,但编译的方式稍有不同。当用户第一次浏览到 .aspx 页时,ASP.NET 自动生成表示该页的 .NET 类文件,并将其编译成另一个 .dll 文件。
    为 .aspx 页生成的类B从被编译成项目 .dll 文件的代码隐藏类A继承。    只要 Web 窗体页受到请求,此 .dll 文件就会在服务器上运行。在运行时,此 .dll 文件通过动态创建输出并将其发送回浏览器或客户端设备来处理传入请求和响应。
     页面.aspx文件中如下代码:
     <%@ Page language="c#" Codebehind="WebForm.aspx.cs" Inherits="MyNamespace.WebForm" %>   
     Codebehind="WebForm.aspx.cs" 这一句表示绑定的代码文件.
     Inherits="MyNamespace.WebForm" 这句非常重要,它表示页面继承的类名称,也就是CodeBehind的代码文件中的类,这个类必须从System.Web.WebControls.Page派生     比如Default.aspx页面,.cs可能生成一个叫_Default的类或者叫Default的类.而.aspx会生成一个叫aspnet_Default的类,这个类继承自_Default类/Default类.因此,如果你在.aspx写了与.cs中有相同签名的方法,.aspx中的方法是最后会执行的,.cs的就被无视了
     总结:
     1.partial意指C#类,接口的折分.
     2.Inherit指aspx的页面的C#代码和code behind所指CS文件的代码的继承关系.所以说aspx文件关联的CS文件的私有成员是不能访问的。如需要访问只能将来code behind文件的方法||属性的声明更改为protect,public.
     3.partial 用在aspx的code behind文件中是来辅助原有的code behind方式.这种方式叫做code beside.可以在1.0中每往aspx上拖一个控件,那么在它的code behide 的文件就会有一个声明,而现在这个声明这被移到了别个文件.中它的类名和code behide文件中的类一样,且也有partial声明。这个文件叫xxx.aspx.desinger.cs.

     这就是xxx.aspx文件,xxx.aspx.cs文件以及xxx.aspx.desinger.cs文件之间的相互关系。