文章分类 -  ASP.Net

摘要:•AJAX传递复杂数据如果自己进行格式定义的话会经历组装、解析的过程,因此AJAX中有一个事实上的数据传输标准JSon。Json(是一个标准,就像XML一样,Json规定了对象以什么样的格式保存为一个字符串)将复杂对象序列化为一个字符串,在浏览器端再将 字符串反序列化为JavaScript可以读取的对象。看一下Json的格式。Json被几乎所有语言支持。•C#中将.Net对象序列化为Json字符串的方法:JavaScriptSerializer().Serialize(p), JavaScriptSerializer在System.Web.Extensions.dll中,是.Net3.x 中新 阅读全文
posted @ 2013-04-11 19:38 Big.Eagle 阅读(142) 评论(0) 推荐(0)
摘要:•接着介绍XMLHttpRequest对象,因为Ajax应用程序的中心就是它。同时,对于许多数网页开发的实际问题中,它也是最广泛适用的解决方案。•我们还将介绍该对象的GET和POST方法的使用。同时探讨用户使用此对象常见的错误,例如当试图让页面在所有服务器上都能运行时遇到的一些问题。•XMLHttpRequest对象最初是作为IE5中的一个ActiveX控件出现的,随后Mozilla 1.0、Netscape7、Safari1.2和Opera7.60都将它纳入自身。•XMLHttpRequest对象在IE浏览器和非IE浏览器中创建的方法不同。•XMLHttpRequest对象的作用在于,允许用 阅读全文
posted @ 2013-04-11 10:09 Big.Eagle 阅读(246) 评论(0) 推荐(0)
摘要:•传统的web应用允许用户填写表单(form),当提交表单时就向web服务器发送一个请求。服务器接收并处理传来的表单,然后返回一个新的网页。•这个做法浪费了许多带宽,因为在前后两个页面中的大部分HTML代码往往是相同的。•AJAX应用可以仅向服务器发送并取回必需的数据,并在客户端采用JavaScript处理来自服务器的响应•因为在服务器和浏览器之间交换的数据大量减少(大约只有原来的5%),结果我们就能看到响应更快的应用。同时很多的处理工作可以在发出请求的客户端机器上完成,所以Web服务器的处理时间也减少了。•使用Ajax的最大优点就是能在不刷新整个页面的前提下维护数据,这使得Web应用程序更为 阅读全文
posted @ 2013-04-11 09:40 Big.Eagle 阅读(355) 评论(0) 推荐(0)
摘要:AJAX:”Asynchronous JavaScript and XML” 中文意思:异步JavaScript和XML。指一种创建交互式网页应用的网页开发技术。AJAX并非缩写词,而是由Jesse James Gaiiett创造的名词。不是指一种单一的技术,而是有机地利用了一系列相关的技术: web标准( Standards-Based Presentation )XHTML+CSS的表示,使用 DOM( Document Object Model )进行动态显示及交互,使用 XML 和 XSLT 进行数据交换及相关操作,使用 XMLHttpRequest 进行异步数据查询、检索.简单理解为 阅读全文
posted @ 2013-04-11 09:35 Big.Eagle 阅读(128) 评论(0) 推荐(0)
摘要:•Session分三种:1.InProc(进程内)-默认就是这种--------------------------------------------------------------------------•进程外:可以在IIS或ASPNET服务意外关闭时继续保持状态:•2.StateServer:使用aspnet_state.exe 2.1修改配置文件: 2.2<sessionState mode="StateServer" stateConnectionString="tcpip=localhost:42424"/>设置是否允许远程 阅读全文
posted @ 2013-04-10 19:03 Big.Eagle 阅读(125) 评论(0) 推荐(0)
摘要:•Application对象可以存储应用程序级的数据。 –“Application”:应用程序 –第一个用户访问站点时,应用程序启动,并创建一个Application对象。 –创建成功后,整个应用程序中都可以使用该对象。 –除非应用程序关闭,否则对象一直存储在内存中。Application对象对应HttpApplication类,它定义 ASP.NET 应用程序中的所有应用程序对象通用的方法、属性和事件。 系统对象ASP.NETRequest对象读取客户端在Web请求期间发送的值Response 对象封装了页面执行期返回到HTTP客户端的输出Application对象作用于整个程序运行期的状. 阅读全文
posted @ 2013-04-10 19:01 Big.Eagle 阅读(170) 评论(0) 推荐(0)
摘要:1、ASP.Net已经内置了Session机制。不要放太多的对象到Session(因为存储在服务器端fw的一个辅助进程里,不稳定,数据多了容易丢失。),Session会有超时销毁的机制。2、Cookie是存在客户端,Session是存在服务器端,目的是一样的:保存和当前客户端相关的数据(当前网站的任何一个页面都能取到Session、Cookie)。3、如果浏览器禁用了Cookie可以启用Url来传递SessionID。4、可以看到Session机制并不是Http协议规定的,是ASP.net实现的,现在PHP、JSP等大部分服务端技术都实现了Session,原理都差不多。5、Session有自动 阅读全文
posted @ 2013-04-08 20:12 Big.Eagle 阅读(163) 评论(0) 推荐(0)
摘要:1、Session提供了一种把信息保存在服务器内存中的一种方式。它能存储任何数据类型包括自定义对象。2、每个客户端的Session是独立存储。3、Session 对象用于存储有关用户的信息,在用户整个会话过程(整个会话过程:就是在关闭浏览器之前)中都会保留此信息(保存SessionId的cookie【这个Cookie位于浏览器缓存中】丢失之前)。4、Session是与保存在浏览器缓存中的cookie 相关的【服务器根据浏览器发送过来的cookie找到相应的Session】,与Session相关的Cookie都是保存在浏览器缓存中。5、当用户在应用程序中从一个网页浏览到另一个网页时,存储在 Se 阅读全文
posted @ 2013-04-08 19:14 Big.Eagle 阅读(182) 评论(0) 推荐(0)
摘要:1、表单是和页面相关的,只有浏览器端提交了这些数据,服务器端才能得到。而有时候希望在服务端任意的地方存取一些和访问者相关的信息,这时候就不方便将这些信息保存到表单中了,因为如果那样的话必须随时注意在所有页面表单中都保存这些信息。Cookie是和站点相关的,并且每次向服务器请求的时候除了发送表单参数外,还会将和站点相关的所有Cookie都提交给服务器,是强制性的。Cookie也是保存在浏览器端的,而且浏览器会在每次请求的时候都会把和这个站点的相关的Cookie提交到服务器,并且将服务端返回的Cookie更新到硬盘,因此可以将信息保存在Cookie中,然后在服务器端读取、修改。服务器返回数据除了普 阅读全文
posted @ 2013-04-08 18:20 Big.Eagle 阅读(180) 评论(0) 推荐(0)
摘要:1.普通GET请求:无Cookie2.服务器通过响应报文头里的set-cookie向浏览器设置Cookie信息3.浏览器通过请求报文头里的Cookie传递浏览器存储的Cookie信息1、 服务器向浏览器写出Cookie实际上就是在 响应报文中 生成响应行:Set-Cookie: uinfo2=123; expires=Mon, 06-Jun-2011 06:48:47 GMT; path=/2、 浏览器读取此 响应行后 会自动在客户端硬盘中产生一个Cookie文件,名为:Cookie:administrator@localhost/,注意@后的 localhoust/ , 实际上是颁发此C.. 阅读全文
posted @ 2013-04-07 22:22 Big.Eagle 阅读(206) 评论(0) 推荐(0)
摘要:1、Cookie是一种能够让网站服务器把少量数据(4kb左右)储存到客户端的硬盘或内存,并且读取出来的一种技术。2、当你浏览某网站时,由Web服务器放置于你硬盘上的一个非常小的文本文件,它可以记录你的用户ID、浏览过的网页或者停留的时间等网站想要你保存的信息。当你再次通过浏览器访问该网站时,浏览器会自动将属于该网站的Cookie发送到服务器去,服务器通过读取Cookie,得知你的相关信息,就可以做出相应的动作。如在页面显示欢迎你的标语,或者让你不用输入ID、密码就直接登录等等。 3、浏览器访问一个站点时,只将属于当前站点的Cookie发过到服务器。(根据域名)—(没必要把每家医院的病历本都带过 阅读全文
posted @ 2013-04-07 21:57 Big.Eagle 阅读(180) 评论(0) 推荐(0)
摘要:l两种使用方式: 作用域---页面级 1.用户数据保存方式: ViewState["myKey"]="MyData"; 读取数据方式: string myData; if(ViewState["myKey"]!=null) { myData=(string)ViewState["myKey"]; } 注意:ViewState不能存储所有的数据类型,仅支持可序列化对象。 2.非单值服务器控件的状态也自动保存在ViewState中 列入:下拉框。(文本框是单值控件,所以不会保存在ViewState中)l使用ViewSt 阅读全文
posted @ 2013-04-07 21:46 Big.Eagle 阅读(227) 评论(0) 推荐(0)
摘要:lViewState:《保存在隐藏域中》ASP.NET 的 .aspx页面特有,页面级的;就是在页面上的一个隐藏域中保存客户端单独使用的数据的一种方式;服务器端控件的值都自动保存在ViewState中;lCookie:《保存在浏览器中》HTTP协议下的一种方式,通过该方式,服务器或脚本能够在客户机上维护状态信息; 就是在客户端保存客户端单独使用的数据的一种方式;就像你的病历本一样,医院直接给你带回家;lSession:现在指的是进程内Session。在服务器端保存客户端单独使用的数据的一种方式;就像银行账户,钱都存在银行里,你就拿一张银行卡(SessionId)回家;lApplication: 阅读全文
posted @ 2013-04-07 21:44 Big.Eagle 阅读(143) 评论(0) 推荐(0)
摘要:通俗:一个浏览者发出的请求都是由实现了IHttpHandler接口的对象进行响应,由于下次访问不一定还是上次那个对象进行响应,上次响应完毕对象可能已经被销毁了,写的类变量值早就不存在了,因此不要将状态信息保存到类变量中。例子:编写一个aspxprivate int i;•public void Count()•{• Response.ContentType = "text/plain";• Response.Write(i++);•}多次刷新我们发现,变量根本不会记忆上次的值。《说明了无状态》无状态的根本原因是:浏览器和服务器使用Socket通信,服务器将请求结果返回给浏览 阅读全文
posted @ 2013-04-07 21:42 Big.Eagle 阅读(138) 评论(0) 推荐(0)
摘要:1.我们写的网站,在运行的时候其实都会被编译成程序集。页面会被编译成类。 2.程序集在哪呢?在WebForm的页面中执行下面的代码 •Response.Write(this.GetType() + "<br/>");•Response.Write(this.GetType().Assembly.Location + "<br/>");•使用Reflector打开这个临时dll(老师带领同学看)。3.小结:aspx最终也会生成一个类,这个类是继承自aspx.cs中的类 •查看反编译以后的代码,可以看到就是编译生成了普通的.Net 代 阅读全文
posted @ 2013-04-06 22:02 Big.Eagle 阅读(211) 评论(0) 推荐(0)
摘要:图解:Execute:特色:第一个页面直接调用第二个页面,但URL地址不变。Tranfer:HtmlEncode与HtmlDecode:1、Server是上下文对象context的一个属性,是HttpServerUtility类的一个对象2、Server.HtmlDecode()、Server.HtmlEncode() Server.UrlEncode()、 Server.UrlDecode()是对HttpUtility类中相应方法的一个代理调用。推荐总是使用HttpUtility,因为有的地方很难拿到Server对象,而且Server的存在是为以前ASP程序员习惯而留的。别把HtmlEnco 阅读全文
posted @ 2013-04-06 20:15 Big.Eagle 阅读(331) 评论(0) 推荐(0)
摘要:Request其它成员•1、Request.UrlReferrer 发出请求的网页的来源,可以根据这个判断来防下载盗链、防图片盗链,可以伪造(比如迅雷)。"本图片仅供如鹏网内部交流使用",在DZ中测试。全局防盗链用Globals.asax•2、Request.UserHostAddress获得访问者的IP地址•3、Request.Cookies 获取浏览器发过来的浏览器端的Cookie,从它里面读取Cookie值,比如context.Request.Cookies["mysessionid"],使用Request.Cookies 的时候一般只是读取,将C 阅读全文
posted @ 2013-04-06 19:33 Big.Eagle 阅读(204) 评论(0) 推荐(0)
摘要:•aspx和ashx关系:aspx就是一个特殊的ashx,微软在aspx中帮我们封装了很多操作,我们可以“傻瓜”化的进行开发。•aspx是什么。 aspx的文件路径中《就是文件夹取名》不能有“#”符号。•aspx和JavaScript可以混合写。 阅读全文
posted @ 2013-04-06 19:29 Big.Eagle 阅读(120) 评论(0) 推荐(0)
摘要:•如果每次输出网页都直接用HttpHandler的话太痛苦了,所以一般生成html的时候都直接创建aspx(Web窗体,WebForm)。•WebForm分为两个文件aspx和aspx.cs,aspx是页面模板,是页面描述文件,就是html的内容,和aspx.cs结合的更好,不用像”一般处理程序”那样程序员自己去输出HTML字符串(Response)或读取填充模板(File.ReadAllText、string.Replace),控件都是定义在aspx中,内联的JavaScript、CSS也是写在aspx中的,服务端的C#代码是定义在aspx.cs中。aspx控制页面控制长相,cs控制程序逻辑 阅读全文
posted @ 2013-04-06 17:04 Big.Eagle 阅读(140) 评论(0) 推荐(0)
摘要:•如果HttpHandler输出的是html/txt/jpeg等类型的信息,那么浏览器会直接显示,如果希望弹出保存对话框,则需要添加Header//汉字需要编码,否则会出现乱码....•//将URL编码,解码不需要工作一般是由Web服务器完成,并不需要程序员参与•string encodeFileName = HttpUtility.UrlEncode(“生活大爆炸117.avi”);或string encodeFileName =context.Server.UrlpathEncode(“生活大爆炸117.avi”);//设置Response.AddHeaderResponse.AddHea 阅读全文
posted @ 2013-04-06 16:22 Big.Eagle 阅读(308) 评论(0) 推荐(0)