ASP.NET中的代码分离(2)

分类: asp.net   出处:iocblog整理  更新时间:2008-08-06   添加到收藏  

  在这个类文件中,我们引入了许多名称空间,从而帮助背后代码的处理。如果我们没有引入这些名称空间的话,就无权使用适当的.net对象来使背后代码工作。然后我们要指定自己的定制名称空间。这样以来,如果我们愿意的话,就可以在一个文件中包含一个以上的背后代码类。否则,每个背后代码都需要存在于它自己的文件中,你就需要在asp.net页面“page”指令的“src”属性中指定这个文件。

  我们的webpage类是从普通的page(页面)对象中继承来的,因此它有权使用它的固有服务。这样,就可以与asp.net 页面相互作用,并且如果必要的话,可以在page (页面)层事件,如page_init 和 page_load中放置事件。在这个例子中,我们只是想对asp.net页面上的提交按钮的点击做出响应,所以我们执行以前在asp.net 页面中引用过的submit_onclick 事件处理器。在事件处理器内部,我们声明并且初始化一个新的label(标签)服务器控件。然后我们抓取“message”textbox (信息文本框)服务器控件的内容,并将其分配给新的label(标签)服务器控件。最后,我们向form(表单)服务器控件的controls(控件)集合中增加label(标签)服务器控件。这样,当页面重新装载时,信息就会被显示在页面上。

  要注意我们声明受保护的变量“messageform”和“message”来存放在asp.net页面上对它们相应控件的引用,正是这些声明使我们能够从背后代码类中看到和操作控件。实际上,背后代码类在遗传层次上比asp.net 页面本身的位置还要高,因此在asp.net 页面上相应的控件只是通过遗传在简单地“执行”背后代码类中的声明。

  例子的最后一步是编译背后代码类,这可以通过在命令行执行使用下面的指令完成:

vbc /t:library /out:dotnet101.mysample.dll

/r:system.dll,system.web.dll codebehind.vb
  运行了这个指令后,一个名为“dotnet101.mysample.dll”的文件就会出现在目录中,然后将这个文件放在asp.net站点的 “bin”目录中。[www.iocblog.net 来源]

上一页 [1] [2]