首 页 网络编程
网页制作 图形图象 操作系统 冲浪宝典
软件教学 认证考试

网络安全 网络办公 行业资讯 评测对比
您当前位置:站长天空 -> 冲浪宝典-> 冲浪技巧
[ASP.NET 教程] 三. Web Forms编程模型-.NET教程,Asp.Net开发
作者:网友供稿 点击:17
推荐
西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金
站内搜索
文章页数:[1] 
1. web forms编程模型

web forms中的用户界面是由html和服务器控件共同描述的。每个控件标签都对应了一个服务器上的实际的对象。

控件触发的事件是在服务器端处理的。asp.net将客户端与服务器端的处理“融合”到一起,看起来就好像事件是在同一端被触发和处理的,而事实上是客户端事件导致浏览器产生回发,于是服务器端对象触发事件。

<script></script>块中的服务器端代码并不能称为脚本,它是被编译然后运行的,而不是解释执行,所以它的执行效率会比asp脚本高很多。

标签中的runat=”server”属性是asp.net页面的关键,它让服务器“执行”标签,而不是将标签文本返回给客户端,所以在需要asp.net处理的标签上都必须添加runat=”server”。
2. web控件

前面例子中的textbox,button,label都是web控件。它们是在system.web.ui.webcontrols名称空间中定义的服务器控件,其他具体的控件可以查阅.net framework sdk文档,它们都可以在asp.net web forms中使用,其中有简单的控件,如label,也有相当复杂的控件,如datagrid。
3. html 控件

html控件是asp.net 的另一种服务器控件,它们定义在system.web.ui.htmlcontrols名称空间中,具体请查阅.net framework sdk文档,它们通常是在常规的html标签中添加runat="server",比如<input type="text" runat="server" />实际上就是一个system.web.ui.htmlcontrols.htmlinputtext的对象,实际上每个web form中的<form runat="server" />标签就是一个html控件。
4. 页面事件

并非只有服务器控件可以触发事件,页面同样可以。

首先,在介绍页面事件前,什么是页面?下面描述了asp.net处理doadd.aspx的过程:

1) 系统创建一个临时文件,其中包含了一个由system.web.ui.page派生的类,它代表web页面。
2) asp.net把根据aspx文件生成的代码放到刚刚生成的类中。其中add方法会称为生成类的成员。
3) 这个类被编译为一个dll文件,存放在系统文件夹。以后的请求将直接使用这个dll文件,而不会重复1,2步,除非源文件已被改变。
4) 请求页面时,asp.net实例化这个派生的类,然后“执行”它,page对象实例化其中的所有控件,将它们的输出发送到浏览器。
如果安装了.net framework sdk 1.1可以查看下面这张图来了解这个过程:
ms-help://ms.netframeworksdkv1.1.chs/cpguidenf/html/vbderivedpagebaseclasstowebformoutput.gif

.net framework sdk文档描述了page类的所有事件,这里仅介绍几个重要的
page.load事件
page.load事件在页面加载时触发,我们通常在load事件处理中通过page.ispostback属性来判断页面时第一次加载还是产生回发后加载的。ispostback是非常重要的属性,如果ispostback为true则表示产生了回发,一般来说,在回发时不需要初始化控件,asp.net会保持控件状态。
page.init事件
page.init事件在页面初始化时触发,postback时不会触发,所以可以在这里初始化控件,连接事件处理程序等等。
page.prerender事件
prerender事件在页面执行完毕,即将呈现界面时触发,可以在这里处理页面的结束动作。
5. 页面指令
可以在aspx文件中使用页面指令,虽然标准的做法是将指令包括在文件的开头,但是它们可以位于文件中的任何位置。每个指令都可以包含一个或多个特定于该指令的属性。

在所有页面指令中@page是最常用的一个,例如:

代码:
<%@ page language="c#" %>
这个条指令设置所有内嵌代码的语言。比如:

html 代码:
<html>
<body>
now time: <% response.write(datetime.now.tostring()); %>
</body>
</html>

@page在一个页面中只能出现一次

@import指令可以为页面导入一个命名空间,例如:

代码:
<%@ import namespace="system.data" %>

相当于c#代码:

代码:
using system.data;

@import指令可以多次出现

还有许多其他指令,没种指令也有很多属性,这里不可能详细介绍,请查阅.net framework sdk文档的相关部分。

文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

文章页数:[1] 


放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·不用SQL语句查询DataTable中的数据-.NET教程,数据库应用
·一个asp模板类-ASP教程,ASP应用
·谈有线电视系统前端设备调试
·表单提交“GET”的用法(form所有提交的值都会在地址栏出现)-ASP教程,ASP应用
·-48v整流器配置与直流系统设置
·c#下重写BUTTON控件-.NET教程,C#语言
·catv网络常见及疑难故障的分析处理
·常用路由协议的分析及比较
·mpls的体系结构与组网技术
·初级:.net框架下的MD5-.NET教程,.NET Framework
最新文章
·在线高速免费收看英超比赛的方法_冲浪技巧
·为什么成功的论坛和博客无法双管其下_站长心得
·做好一个好的网站策划_网络编辑
·windows live folders 新鲜试用_冲浪技巧
·什么样的网站放google adsense最理想_网赚技巧
·被google adsense 除名后怎么办_网赚技巧
·刘韧:站长站在草根与神话之间_站长访谈
·张弛有度的google adsense_google推广
·浏览器内嵌流媒体播放器silverlight_冲浪技巧
·高分辨率下界面布局的解决方案4_站长心得
相关主题
  • [ASP.NET开发系列]在用户控件中添加事件-.NET教程,Asp.Net开发
  • [ASP.NET 教程] 三. Web Forms编程模型-.NET教程,Asp.Net开发
  • [ASP.NET 教程] 二. Web Forms-.NET教程,Asp.Net开发
  • [ASP.NET 教程] 一. Web基础-.NET教程,Asp.Net开发
  • [ASP.net]Loading制作-ASP教程,ASP应用
  • 西部数码虚拟主机

    友情链接
    CNNIC 西部数码
    万网 自助建站
    虚拟主机 asp空间
    域名注册 域名
    域名申请 主页空间
    论坛空间 网站空间
    国际域名 虚拟空间
    空间租用 DDOS防火墙
    成都主机托管 四川主机托管
    主机租用 服务器租用
    网站目录 自助建站
    虚拟主机 网址大全
    软件下载
    自助链接
    虚拟主机资讯 特价虚拟主机
    版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
    关于我们:站长天空:专业提供最新的站长资讯、在线教程、虚拟主机权威评测、虚拟主机性能对比、网站制作教程,开发教程,站长工具。包括网页制作教程、冲浪宝典、编程参考、操作系统、软件教学、行业动态等。
    特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
    发表评论 打印  刷新     关闭