篇一Web窗体代码语法和技巧
Web窗体代码语法和技巧
1 Web窗体代码web窗体代码有 “混合代码” “内联代码” “隐藏代码”。1混合代码
C#代码与HTML代码混合在一起都放在aspx页面中。例 <html<bo dy
<table width=300 border=1 cellspacing=1cellpadding=1<%for(int i=0;i<=10;i++) {%<tr
<td<%Respo nse.Write( 数 值 是 +i.ToString());%</td</tr<% }%
</table</body</html 2内联代码c#代码与HTML代码放在同一个文件内并且代码以<script language=c# runat=server</script的方式嵌入到HTML中。 例
<script language=c# runat=server public voidP age_Lo ad() {
1
if(!P age.IsP ostB ack){t his.text1.Text=你好 ; this.text2.Te xt=;} }public void link(object sender,EventArgs e) {
Respo nse.Write(this.te xt1.Text+this.text2.Text); }
</sc ript<html<bo dy
<form runat=server
<table width=300 border=1 cellspacing=1cellpadding=1<tr
<td<asp:TextBox ID=text1runat=server</asp:TextBox</td</tr<tr
<td<asp:TextBox ID=text2runat=server</asp:TextBox</td</tr<tr
<td<asp:Button ID=button1 runat=server Text=提交 OnClick=link</asp:Butto n</td</tr </table</fo rm</body</html
3隐藏代码
使用VS.NET环境开发 同时生成一个.aspx和.cs文件。 aspx页面中不再出现c#代码或出现少量的代码。
实现页面和代码分离。
2代码隐藏页
1使用代码隐藏页优点
1使用VS.NET中实现服务器端代码的默认方法是使
2
用代码隐藏页。 2它允许代码设计和UI设计分离。
3发布部署时可以不用把源代码一起部署。 4提高代码的可读性、独立性和重用性
1代码隐藏页运行机制
1连接Web窗体文件和代码隐藏页文件使用页面指令@page
Language指定在对页中所有内联呈现<%%和<%=%和代码声明块进行编译时使用的语言。
Inherits 定义供页继承的代码隐藏类 区分大小写。C o de F ile指定包含与页关联的类的已编译文件的名称。Src指定在请求页时动态编译的代码隐藏类的源文件名称。
2实时JIT编译
a需要指定了src属性 ASP.NET将实时编译代码隐藏类。 b源代码的修改能立即反映到页面上
cWeb应用程序的运行需要代码隐藏页文件
d第一次运行时间比较长后续处理请求比较快。
e使用JIT编译可以仅仅对小范围代码更新不需要重新编译整个站点就可以对代码进行更新。
3预编译P re-co mpile a不需要指定src属性ASP.NET将预编译代码隐藏类。需要使用Inhe rits。 b代码隐藏类编译为程序集.DLL
c预编译后Web应用程序的运行不依赖于代码隐藏
3
页文件而需要程序集文件。
d每次修改源代码后必须重新编译解决方案才能反映最新的修改。 e高效率、容易部署不需要部署代码隐藏页。
3 Page类
Page类提供了很多asp.net页面功能经常用于服务器端事件过程。 当Web窗体被编译时 asp.net会解析网页与其代码动态产生一个新类然后编译此新产生的类。此动态产生的类是派生自asp.net的page类。
在运行期间page类会处理到达的请求动态产生HTML来做出响应并将它返回浏览器。
Asp运行的机制是把html代码中的可运行代码抽取出来并运行采用解析方式然后将运行结果塞回并替换原先服务器端代码所在处与静态htm l页面结合后才返回。本质是加了代码的html。
Asp.net做法完全相反是用编译方式 网页经过一系列的处理装配成htm l并返回。
例 asp代码与asp.net代码
1派生自Page类
使用VS.NET开发工具创建页面时会产生从Page基类继承而来的代码一
般页面继承System.Web.UI.Page 。
4
.aspx文件会在用户浏览它时被动态编译它与类文件之间的关联是通过网页顶端的前置处理器指令生成。
特别是Inherits用来指出是哪个类所派生出来的aspx文件。
.aspx页面
服务器上的.dll文件会自动产生网页的HTML输出 以便在浏览器浏览。
2单个文件Web窗体页
只有一个aspx页面没有后置代码页此页面也是使用服务器代码来运行。 优缺点
1代码不会被编译到一个类中单此页也会派生自page类。
2安装部署时简便但必须将原代码一起部署到服务器中。不过页面运行时代码会将编译过后的页面传递给用户。
3没有后置代码页使用“拖拽”方式将控件加入到网页后必须自行编写cs代码。
4是在“HTML源”中写代码而不是在“代码编辑器”中写代码。 5撰写代码时不支持Inte llisense 智能代码导航无法使用语法检测语句完整、定位或代码格式支持。
6必须以人工方式自行将事件绑定至事件处理程序。
5
不支持双击控件来生成默认的事件处理处理程序。 7不支持调试功能。
8网页代码不编译成dll项目组件要到网页运行时才能够拦截编译时期的错误。
4 Web窗体的网页生存周期
研究Web窗体页面处理各项细节前先了解Web窗体网页作为一个Web应用程序来运作时的一些基本特征。
Web窗体处理过程会经历许多不同阶段。在每一个阶段皆会有特定的事件被引发对应于事件的事件处理程序亦会被调用运行。
比如可以在P age_init事件的处理程序中去完成web窗体的一些起始设置操作在Page_UnLoad事件的处理程序中去完成系统还原与清除操作。 3 4 1属性 1 内置属性
Intrinsic – Cache Use r, Trace, Sessio n,Applicatio n,Request,Response,Server 2 IsPostBack属性
3 Enable ViewState属性 4 IsVa lid属性
3 4 2环回
所有与服务器组件交互运作的处理必须在服务器上运行即每一项需要处理的动作都必须由窗体传送提交给服务器处理然后再返回浏览器该过程就是所谓的“环回”
Round Trip
6
大多数的用户操作都会引发一次环回。
篇二简单WEB窗体应用
淮海工学院计算机工程学院
实验报告书
课程名 《WEB工程》 实验名称 简单WEB窗体应用
班级
学号姓名
一、 目的与要求
1掌握制作简单WEB窗体的方法与步骤
2为一个公文管理系统设计用户注册与登录页面。
二、实验内容或题目界面及功能要求
1、界面 default.aspx
页面中包括用户名输入框、密码输入框、登录按钮、注册按钮。
Register.aspx:
页面中包括用户名、密码及重复密码输入框
性别男、女单选按钮
地址省份下拉列表数据包括江苏、 山东市县下拉列表江苏省内包括连云
港、南京 山东包括青岛。
注册按钮。
7
Doclist.aspx
页面包括列表框列出“公文标题1”“公文标题2”
通过样式定义将系统中的所有按钮的文字颜色设成“红色”。 2、功能要求
用户选择省份后在市县下拉列表中显示该省份的市县名称。
当登录成功后页面跳转到Doclist.aspx
当用户注册成
功后在该页面显示用户输入的注册信息。
三、实验步骤与源程序
(1)新建WEB项目。 (2)新建相应WEB窗体。
共有三个WEB窗体名称如下图所示
(3)为每个WEB窗体设计控件及布局。 见界面要求 (4)在代码编辑器中编写相应的事件处理代码。
提示登录按钮、注册按钮的单击事件此处只是简单地跳转到另一页面未处理用户的登录信息
公文标题列表页面中在页面加载事件中为列表框添加公文标题信息
注册页面中有两个重载的LoadAddressInfo方法其中无参方法用来初始化省份、 城市两个下拉列表框。LoadAddressInfo(string strProvince)用来根据传入省份名称更新城市下拉列表框中的内容。
8
DdlP rovince_SelectedIndexChanged方法是省份下拉列表框中选项更改事件的处理代码根据省份下拉列表框中的新选项值更新城市下拉列表框。
(5)运行和测试程序。
四、具体程序如下default.aspx界面程序如下using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;public partial class_Default :System.Web.UI.Page {protectedvoid Page_Load(object sender,EventArgs e)
{ } protected void Button1_Click(object sender,EventArgs e) {
Respo nse.Redirect(Registe r.aspx); }protected void Button2_Click(object sender,EventArgs e){
Response.Redirect(DocList.aspx); } }
Register.aspx界面程序如下using System;using System.Data;
9
这两天Linode发布了十八周年的博文和邮件,回顾了过去取得的成绩和对未来的展望。作为一家运营18年的VPS主机商,Linode无疑是有一些可取之处的,商家提供基于KVM架构的VPS主机,支持随时删除(按小时计费),可选包括美国、英国、新加坡、日本、印度、加拿大、德国等全球十多个数据中心,所有机器提供高出入网带宽,最低仅$5/月($0.0075/小时)。This month marks Linod...
HostKvm是一家成立于2013年的国外VPS服务商,产品基于KVM架构,数据中心包括日本、新加坡、韩国、美国、俄罗斯、中国香港等多个地区机房,均为国内直连或优化线路,延迟较低,适合建站或者远程办公等。本月,商家旗下俄罗斯、新加坡、美国、香港等节点带宽进行了大幅度升级,俄罗斯机房国内电信/联通直连,CN2线路,150Mbps(原来30Mbps)带宽起,目前俄罗斯和香港高防节点5折骨折码继续优惠中...
近日Friendhosting发布了最新的消息,新上线了美国迈阿密的云产品,之前的夏季优惠活动还在进行中,全场一次性45折优惠,最高可购买半年,超过半年优惠力度就不高了,Friendhosting商家的优势就是100Mbps带宽不限流量,有需要的朋友可以尝试一下。Friendhosting怎么样?Friendhosting服务器好不好?Friendhosting服务器值不值得购买?Friendho...