asp.net2.0 新特性(一):Code-Beside

asp.net 1.x中的Code-Behind技术在asp.net2.0中变为Code-Beside。
以前用Code-Behind实现HTML和应用逻辑分离,HTML被保存在aspx文件中,用c#(vb.net)编写的程序被放在.cs(.vb)文件中;两个文件被单独编

译成两个Class,且aspx的Class继承于.cs(.vb)编译生成的Class。若要在网页上调用后台的方法如下:
helloWorld.aspx
<%@ Page language="c#" Codebehind="helloWorld.aspx.cs" AutoEventWireup="false" Inherits="MY.helloWorld" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
 <HEAD>
  <title>Image</title>
  <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
  <meta name="CODE_LANGUAGE" Content="C#">
  <meta name="vs_defaultClientScript" content="JavaScript">
  <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
 </HEAD>
 <body MS_POSITIONING="GridLayout">
  <form id="Form1" method="post" runat="server">
   <# % SayHello() %>
  </form>
 </body>
</HTML>
helloWorld.cs
using System;
namespace MY
{
        public class helloWord: System.Web.UI.Page
       {
 protected System.Web.UI.HtmlControls.HtmlForm Form1;
 private void Page_Load(object sender, System.EventArgs e)
 {
 }
 
 public string SayHello()
 {
  return "hello";
 }

        }

}
在页面上使用后台的方法,必须将后台的方法设置成public类型的;
Code-Beside应用了,Partial Class特性。Partial Class是什么呢?在网站查到:
--------------
partial classes:局部类型

partial 类型可以使我们把对某个类的描述写在不同地方,甚至写到两个或多个不同的文件中去。partial 信息只对编译器有用,编译器在编译时

看到对某个类的描述是“碎”的(partial 的),它会去其他地方收集该类的其他碎片,然后把所有的该类的碎片组合成完整的一个类,再对其编

译。所以partial 体现不到编译好的 IL中去的。
---------------
因为在asp.net中类可以跨文件了,ms这样出处理了aspx页面和code的关系,虽然依旧是将HTML和逻辑code分别写在2个文件,但是在编译的

时候,只生成一个Class。页面可以使用后台的方法,字段,无论是public还是private的都可以。

不是所以的.net语言都支持Code-Beside模式,c#和vb.net可以,j#不行,因为j#不支持partial classes语法。

转载于:https://www.cnblogs.com/gsl/archive/2006/10/26/540539.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值