篇一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
TMThosting发布了一个2021 Summer Sale活动,针对西雅图VPS主机提供月付7折优惠码,年付65折优惠码,独立服务器提供95折优惠码,本轮促销活动到7月25日。这是一家成立于2018年的国外主机商,主要提供VPS和独立服务器租用业务,数据中心包括美国西雅图和达拉斯,其中VPS基于KVM架构,都有提供免费的DDoS保护,支持选择Windows或者Linux操作系统。Budget ...
火数云怎么样?火数云主要提供数据中心基础服务、互联网业务解决方案,及专属服务器租用、云服务器、专属服务器托管、带宽租用等产品和服务。火数云提供洛阳、新乡、安徽、香港、美国等地骨干级机房优质资源,包括BGP国际多线网络,CN2点对点直连带宽以及国际顶尖品牌硬件。专注为个人开发者用户,中小型,大型企业用户提供一站式核心网络云端服务部署,促使用户云端部署化简为零,轻松快捷运用云计算!多年云计算领域服务经...
美得云成立于2021年,是一家云产品管理服务商(cloud)专业提供云计算服务、DDOS防护、网络安全服务、国内海外数据中心托管租用等业务、20000+用户的选择,43800+小时稳定运行香港特价将军澳CTG+CN2云服务器、采用高端CPU 优质CN2路线 SDD硬盘。香港CTG+CN22核2G3M20G数据盘25元点击购买香港CTG+CN22核2G5M30G数据盘39元点击购买香港CTG+CN...