ASP.NET 高级编程基础第一篇—基础介绍

本文介绍了ASP.NET WebApplication与WebSite的区别,详细讲解了基于ashx方式的开发流程,包括创建HTML页面、一般处理程序、Jquery代码复习、改进的返回提交页面等内容。此外,还提供了Jquery代码实现功能的注释,以及对Get和Post请求方式的对比分析。

ASP.NET 高级编程基础第一篇—基础介绍

用了一段时间的net开发了,有时候感觉有些东西原理还是很模糊,现在从网上找了一个关于ASP.NET 高级编程基础系列的文章来补充补充吧

转载自:http://www.cnblogs.com/hanyinglong/archive/2012/08/07/aspnet.html

前言:从今天起我将写一个这样的系列,当然我主要是从最简单的方面去介绍的哦!

  1. Web应用程序和网站

(1) WebApplication(Web应用程序)和WebSite(网站)的区别?WebSite是为了兼容从ASP转过来的开发人员的习惯而存在的,用起来简单,比如不需要创建命名空间,cs代码修改后不需要重启就可以看到变化(无论是WebSite还是WebApplication,修改aspx都不需要重启),但是不利于工程化的开发,比如代码出错不容易发现,代码不分命名空间,开发技术上没有任何区别,只是开发,调试习惯不同而已。

  1. 基于ashx方式的asp.net开发

(1) 新建一个Html页,命名为:hello1.Htm

复制代码
1 <form action="hello.ashx">
2 
3         <input type="text" name="username" />
4 
5         <input type="submit" value="提交" />
6 
7     </form>
复制代码

 

 (2) 新建一个【一般处理程序】Hello1.ashx,ProcessRequest中写入:

   

1 string username = context.Request["username"];
2 
3 context.Response.Write("hello world," + username);

 

 (3) 每当用户请求访问ashx页面的时候,ProcessRequest方法就会被调用,在这里通过访问context.Request获得访问者的请求参数等,然后在ProcessRequest中通过context.Response向浏览器发回数据给浏览器,ProcessRequest结束之时就是服务器为这个浏览者本次访问服务完成之时。

(4) 浏览器向服务器端提交数据,被提交数据的表单(input,select,textare等)放到Form中通过action属性设定表单被提交到那个页面,为了在服务器端取出来表单项的值,需要在HTML中为表单元素设定Name属性,注意ID是给JS操作和Dom操作用的,name才是提交给服务器的,在服务器端用context.Request[“UserName”]来根据表单项的name来获得提交的属性值,通过context.Response.Write向浏览器输出处理后的显示HTML内容。

  1. 一段Jquery代码的复习

  

复制代码
1 $(function(){
2 
3         $(“#TextBox”).mouseover(function(){
4 
5                $(this).CSS(”Color”,”Red”);
6 
7 });
8 
9 });
复制代码

 

注解:此段代码实现的功能是当鼠标离开控件是将控件中的字体颜色设置为红色。

  1. “返回”提交页面改进版

(1) 为了请求,返回的内容一样,将页面保存为1个Htm模板文本,模板中有一些待填值的占位符,第一次进入页面的时候就直接访问ashx,读取Html模板,将待填值占位符设置为空,然后输出到浏览器。

(2) 为了区分是第一次直接进入页面还是点击提交以后重新进入ashx,在Form中增加一个隐藏字段;<input type=”Hidden” name=”ispostback” value=”true”>,如果能够从Request中读取到ispostback=true就说明是点击提交以后重新进入ashx,负责就是第一次进入ashx。

(3) ASP.NET中将Web虚拟路劲(/images/1.jpg)转换为磁盘全路径(d://www.mysite.images/1.jpg)的方法是HttpContext.Current.Request.MapPath(“/1/入门2.htm”)。

(4) 实现思路是:在ProcessRequest中首先从Request中读取ispostback,如果读取到true,说明是提交进入的,就加载模板,并且进行占位符用计算后的值替换,否则就将模板中的占位符清空直接输出给浏览器。

(5) 刚进入Hello2.ashx的时候是直接向浏览器输出内容,用户在输出的内容中填入数值,再点击提交,服务器就知道提交回来了。(postback)

(6) 文本框上次输入的值在提交表单后有显示出来并不是理所当然的,是开发人员帮着读取提交上来的值然后渲染上去的。这就是asp.net和cs的关系,用aspx重写这个程序,使用ispostback等属性,对比。

(7)http是请求,响应的模型,服务器不会来读取浏览器的网页,能够得到的就是客户端网页提交过来的数据。

  1. Get和Post

(1) 还可以设定form的method属性指定表单提交方式,get(默认值)是通过URL传递表单值,post传递的表单值是隐藏到http报文中的,URL中看不到。

(2) get和post的区别:get是通过URL传递表单值,post通过URL看不到表单域的值,get传递的数据是有限的,如果要传递大数据量不能用get,比如:type=”file”上传文章,type=”password”传递密码或者<textarea>发表大段文章,post则没有限制,post会有浏览器提示重新提交表单的问题,get则没有,对于post的表单重新敲地址栏目刷新就不会提示重新提交了,因为重新敲地址栏就没有重新提交数据了。

(3) get方式url数据格式。服务器文件名后跟着”?”,由于客户端可能向服务器提交多个键值对,键值对之间用”&”进行分割,如果url中有汉字,特殊符号等,则需要对URL进行编码。

(4) 表单域只是设定了name的才会被提交给服务器(用gei方式看的清楚)。如果给submit按钮设定name,那么按钮的value也会被提交给服务器。

验证代码为:

       

复制代码
 1   string fullpath = context.Server.MapPath("Hello.htm"); //得到文件的全路径
 2 
 3         string content = System.IO.File.ReadAllText(fullpath);
 4 
 5         //context.Response.Write(content);
 6 
 7         string ispostback = context.Request["ispostback"];
 8 
 9         if (ispostback == "true")
10 
11         {
12 
13             context.Response.Write("提交进入");
14 
15         }
16 
17         else
18 
19         {
20 
21             context.Response.Write("直接进入");
22 
23         }
24 
25 <form action="hello1.ashx">
26 
27     <input type="hidden" name="ispostback" value="true" /><!--这是一个隐藏字段-->
28 
29     姓名:<input type="text" name="UserName" />
30 
31     <input type="submit" value="提交" />
32 
33 </form>
ASP NET精彩编程百例 pdf 学习ASP NET的必看书籍 讲述了100个ASp NET实例的来笼去脉 由这些实例扩展出许多值得学习的ASP NET技巧 是您学习ASP NET的必看知识 ASP NET是微软.NET战略中的一个重要成员 除了可以使用Visual C# VB.NET VisualC++ NET JScript.NET等语言编写外 还可以使用第三方的.NET接口 如COBOL.NET Perl.NET等 进行编写 本书通过100个精彩实例 由浅入深介绍ASP NET网络程序设计的编程方法与实用技巧 为了方便读者学习与深入理解ASP NET 本书将这100 个实例分为4篇 即基础编程实例 中级编程实例 高级编程实例与混合编程实例 在每个实例中 除了介绍ASP NET中所提供的基础知识点及编程技巧外 还介绍ASP NET在网络编程 图形编程 多媒体编程 Mobile 移动通信 等方面的重要应用及开发技术 本书附赠一张光盘 其中包括全部100个实例源代码及可执行文件 详细内容请参见光盘中的“本书配套光盘说明.txt” 本书体系结构清晰 解释说明详尽 开发实例典型 适合于计算机编程用户 网络用户及对ASP NET感兴趣的用户阅读 也可作为ASP NET培训参考书 书籍目录: 第1篇ASP NET基础编程实例 实例1一个HTML化的ASP NET程序 实例2ASP+WebForms广告轮换控制过程 实例3驱动器列表应用 实例4列出当前盘上目录和文件 实例5使用“文件预览”显示文件夹信息 实例6使用递归循环以显示目录列表 实例7在ASP 7NET中随意创建图形信息 实例8在ASP 8NET中显示事件日志记录 1 实例9在ASP 9NET中显示事件日志记录 2 实例10在ASP 10NET中使用DataGrid分页 实例11在ASP 11NET访问Excel2000 XP文件 实例12显示当前浏览器头信息 实例13利用ASP NET获取主机名和IP地址 实例14由域名获取其IP地址 实例15由IP地址获得其域名 实例16ASP NET中的正则表达式应用 实例17主机远程控制与探测应用 实例18ASP NET控件———AdRotator应用 实例19ASP NET日历程序 实例20查看主机内存情况 实例21ASP NET简易应用程序“Hello 22World ” 实例22读取Config 22Web配置文件 实例23显示BrowseCaps配置段内容 实例24写入文件操作与应用 实例25文件读操作及应用 实例26文件删除与应用 实例27ASP NET中异常处理及其应用 实例28AutoPostBack技术及其应用 实例29用户合法性验证与应用 实例30ASP 30NET列表框应用 实例31Calendar控件操作与应用 实例32用户操作验证与应用 实例33CompareValidator服务器比较控件操作与应用 实例34CustomValidator控件操作与应用 实例35服务器端控件ValidationSummary应用操作 实例36HtmlTable控件操作与应用 实例37在HTML控件中运用样式 实例38在Web服务器控件中运用样式 第2篇ASP NET中级编程实例 第3篇ASP NET高级编程实例 本站提供的ASP NET编程百例 PDF扫描版 附源代码(vb net)资源来源互联网 版权归该下载资源的合法拥有者所有 收起信息返回顶部
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值