06 2013 档案

18 数据绑定控件
摘要:用数据绑定控件时最好用WebApplication,否则有很多麻烦。比如有些类不会自动using到系统中,要手动处理。数据绑定分为数据源和数据绑定控件两部分,数据绑定控件通过数据源来获得数据,通过数据源来隔离数据提供者和数据使用者,数据绑定控件通过数据源来对数据进行修改。模式为textBox-->数据源--> DataSet。数据源有: SqlDataSource,AccessDataSource,ObjectDataSource,LinqDataSource,EntityDataSource,XmlDataSource等(SiteMapDataSource是SiteMap专用数据 阅读全文

posted @ 2013-06-10 14:17 天上星 阅读(719) 评论(0) 推荐(1) 编辑

17 母版(MasterPage)
摘要:网站的布局通常是统一的,如上面有公司的Logo, 操作菜单,导航、下面有公司的地址,版权声明等。如果每个页面都重复做这些功能的话,一量修改那么每个页面都要修改。我们在原来的html中用FrameSet(框架集)技术来解决方案,但是FrameSet技术不灵活,而且很难进行SEO,所有只有部分内网系统还在用FrameSet,.net中一般用母版(MasterPage)技术来解决这个问题。MasterPage是这样一种技术,把页面布局好,在变化的内容部分都“留空”,留空的部分由于页面填充内容,这样子页面只要填空就行,不用重复设计页面结构,一旦要修改页面结构修改母版页就可以,这样所有页面都会有变化,即 阅读全文

posted @ 2013-06-10 11:13 天上星 阅读(1782) 评论(0) 推荐(0) 编辑

16 ValidationSummary
摘要:使用Validator错误消息会显示在放置控件的位置,这样就有可能表单非常大,用户看不到全部的提示信息。还有可能是错误信息太多散落各地,用户不便观看,希望能集中显示于某区域。ValidationSummary控件用来集中显示错误消息。每个验证控件都有ErrorMessage和Text属性,ErrorMessage是用来显示到ValidationSummary中的值,Text是用来显示到VAlidator位置的值。如果Text为空,则ErrorMessage会同时显示到ValidationSummary和控件的位置,能知道指的是哪个控件;ErrorMessage一般显示的详细些,比如用户名不能为 阅读全文

posted @ 2013-06-10 10:05 天上星 阅读(681) 评论(0) 推荐(0) 编辑

15 高级验证控件
摘要:RegularExpressionValidator: ValidationExpression属性为正则表达式,VS已内置了几个正则表达式,也可以自己写。CustomValidator:自定义验证控件。当ASP.Net内置的验证控件无法满足要求的时候可以使用CustomValidator.CustomValidator有特别重要的属性或事件,一个是服务端验证事件,即它的ServerValidate;如果要在客户端验证,则它的属性为ClientValidationFunction,给此属性指定一个写好的函数名即可。ClientValidationFunction属性的函数的参数和ServerV 阅读全文

posted @ 2013-06-10 09:40 天上星 阅读(291) 评论(0) 推荐(0) 编辑

14 CompareValidator
摘要:Type属性与RangeValidator相同。Operator属性是比较操作符,有DataTypeCheck(类型检查),Equal(=),GreaterThan(>),GreaterThanEqul(>=),LessThan(<),LessThanEqual(<=),NotEqual(!=),当这些为True时再不出现提示。 ValueToCompare,与某个值比较大小;ControlToCompare,与另一控件进行比较。实例 : 在表单上放入一textBox,输入一个数与100比较,大于等于100才合格,小于100就会提示错误,并且一定要输入值。因此放入一Co 阅读全文

posted @ 2013-06-10 09:10 天上星 阅读(663) 评论(0) 推荐(0) 编辑

13 RangeValidator
摘要:RangeValidator的属性有: MinimumValue:范围的最小值; MaximumValue:范围的最大值。Type:为数据类型,包括String,Intege ,Double ,Date , CurrencyRangeValidator,CompareValidator,RegularExpressValidator都不会对非空值进行校验,所以如果字段不允许为空则需要再使用RequiredFieldValidator控件。实例: 输入一个日期,此日期的范围在1900年到当前的日期为止并且不能为空,因为我们在表单上放上一个textBox,给它关联一个RangeValidator和 阅读全文

posted @ 2013-06-10 08:54 天上星 阅读(967) 评论(0) 推荐(0) 编辑

12 验证控件的共性
摘要:页面中的IsValid属性用来判断页面中的所有Validator是否都校验通过,中有都检验通过才为True,即使页面中的Validator服务端校验报错(如禁用JS,跳过客户端校验),在服务端方法中的业务代码(比如按钮的click)也会被执行,因此如果代码在数据校验不通过的不能执行就需要判断IsValid的值。所有验证控件都有Display属性,用来决定如何显示错误信息。有三个值: Static: 没有错误信息的时候,控件的Visiblity样式为Hidden来实现隐藏 Dynamic:没有错误信息的时候,控件的display样式为none来实现隐藏。 None: 不显示任何信息,用来配合Va 阅读全文

posted @ 2013-06-09 17:16 天上星 阅读(179) 评论(0) 推荐(0) 编辑

11 验证控件1
摘要:在前面的一个实例中,我们在注册或登录时都会检查输入是否正确,是不为空等,并且客户和服务端都要检查。在ASP.net中已提供了验证控件,它会在服务端和客户端进行检查。如:对用户输入的数据进行合法性校验,这些检验逻辑很多是重复的,比如字段不能为空,必须是日期格式、数字不能大于指定的值等,而且要同时在客户端和服务端校验,客户端校验提高可用性,服务端校验防止恶意攻击。asp.net验证控件就是为了简化这些问题而提供的。Asp.net提供了如下的控件: RequiredFieldValidator:字段必填,不能为空。 RangeValidator :值在给定的最大值、最小值之间。 CompareVal 阅读全文

posted @ 2013-06-09 16:54 天上星 阅读(393) 评论(0) 推荐(0) 编辑

10 服务端的html控件
摘要:1.HTML控件: Asp.Net把HTML控件当成普通字符串渲染到浏览器端,不去检查正确性,无法在服务端进行处理。2.ASP.net服务端控件: 经过Asp.net的高度封装的控件,使用简单,运行在服务端,可以在服务端使用C#代码进行操作,会渲染到客户端的HTML控件。3.runat=server的HTML控件: 在HTML控件的基础上添加runat="server",也是运行在服务端的,也可以在服务端使用C#代码进行操作,也会渲染到客户端,不像Asp.net服务端控件那样的高度封装,暴露的属性大部分是普通的HTML属性。 和ASP.net服务端控件相比的好处是:当需要在 阅读全文

posted @ 2013-06-09 16:08 天上星 阅读(180) 评论(0) 推荐(0) 编辑

9 完整的用户注册登录实例
摘要:实例说明: 1.运行时会弹出login登录页面,用户输入用户名id,密码和验证验后,点击按钮登录,如果id或密码或验证码不正确,则系统会给予提示,如果登录成功,则会在欢迎页面上显示欢迎信息。 2.在login页面上有个"注册"连接,是让新用户注册用的。用户在输入密码时会显示密码的强度,小于6位数的为弱,除了带有字母、数字以外的其它字符为强如#,*等,其它为中。 在注册时会检查要输入的项是否都已输入,也会检查用户的邮箱格式是否正确(用js的正则表达式),如果注册成功会弹出个跳转页面,3秒后显示欢迎页面。如下截图(用 jQuery): 目录图:数据集:数据集的ReturnUse 阅读全文

posted @ 2013-06-09 15:50 天上星 阅读(1121) 评论(0) 推荐(0) 编辑

8 Asp.Net服务端的基本控件
摘要:1.Asp.Net服务端控件是Asp.Net对HTML的封装,在C#代码中就可以用txt1.Text="somevalue"这种方式修改input的值,Asp.Net会将服务端控件渲染成HTML代码输出给浏览器,服务端控件是Asp.Net非常容易上手,也非常吸引初学者,但也是被人诟病的东西。因为它会传输很多无法的东西,如viewstate. 服务端控件在内网或互联网系统的后台部分等访问频率不高的地方还是很适合的。服务端控件只能用post方式提交,用get很麻烦,因为它携带了大量的数据,如果用get会给用户很大的干扰。2.所有的Asp.net大部分都有是从Control,We 阅读全文

posted @ 2013-06-09 14:53 天上星 阅读(565) 评论(0) 推荐(0) 编辑

7 Page类
摘要:1. Request,Response,Server属性,是对Context.Request,Context.Response,Context.Server的简化调用。2.AppRelativeVirtualPath属性:获取页面相对于应用根路径的路径,比如~/Default.aspx3.FindControl(ctrlid),根据控件的id找到控件,一般情况下直接在代码中写控件id引用控件就可以了。但对于有些场合,使用listview等控件的模板,编写自定义控件等则需要使用FindControl来引用控件,它的返回值为Control,要强制转换才可。4.isPostBack,Session, 阅读全文

posted @ 2013-06-09 14:04 天上星 阅读(158) 评论(0) 推荐(0) 编辑

6 WebForm
摘要:1.如果每次输出网页都直接用httphandler的话就太麻烦了,所以一般成生html的时候都直接创建aspx(Web窗体,WebForm).2.WebForm分为两个文件,一为aspx,另个为aspx.cs. aspx就是页面模板,是页面描述文件,,就是html的内容,它就是模板引擎。控件都定义在aspx中,内联的js,css也是写在aspx中的,服务端的C#代码都是定义在aspx.cs中,aspx是控制页面的长相,cs是控制程序的逻辑,这种前aspx后cs的方式就被程序为CodeBehind.3.cs可以调用aspx中的控件,aspx中也可以访问cs中定义的字段、函数,还可以编写复杂的C# 阅读全文

posted @ 2013-06-09 13:51 天上星 阅读(220) 评论(0) 推荐(0) 编辑

5 HttpHandler
摘要:HttpHandler是定义 ASP.NET 为使用自定义 HTTP 处理程序同步处理 HTTP Web 请求而实现的协定,是对请示的响应,可以输出普通的html内容,也可以输入图片或文件(下载也可)。在前面的一般处理程序中,都用到了IHttpHandler. 特别是我们会发现有时朋友给你发个网址,你打开后会发现是一张贺卡,上面有你的名字和好看的图像。这是如何实现的呢? 其实就是把图片写在处理程序中,图片中有个空缺的地址,用一般处理程序把你的名字写到这个空缺的地方,名字就是浏览器发过来的请求参数,然后用用片的bitmap.Save(context.Response.OutputStream,. 阅读全文

posted @ 2013-06-09 11:24 天上星 阅读(363) 评论(0) 推荐(0) 编辑

4 Server对象
摘要:Server是Context的一个属性,是HttpServerUtility类的一个对象.Server.HtmlDecode(),Server.HtmlEncode(),Server.UrlEncode(),Server.UrlDecode()是对HttpUtility类中相对应方法的一个代理调用。推荐总是使用HttpUtility,因为有的地方很难拿到Server对象。Server.Transfer(path),内部重定向请求,Server.Transfer("test.html")表示将用户请求重定向到test.html处理 ,是服务器内部的接管,浏览器是意识不到这个接 阅读全文

posted @ 2013-06-09 10:22 天上星 阅读(153) 评论(0) 推荐(0) 编辑

3.Response对象
摘要:响应的缓冲输出:为了提高服务器的性能,Asp.net向浏览器Write 的时候默认并不会每写一次都会立即输出到浏览器,而是会缓存数据,请缓存器满了或发送相关命令后就会一次将缓存区中的数据一起发送给浏览器。Response对象的主要成员:Response.Buffer,Response.BufferOutput:经过Reflector反编译后,会发现这两个属性是一样的,Buffer内部就是调用BufferOutput,这个属性用来控制是否采用响应缓存,默认是trueResponse.Flush(),将缓存区中的数据发送给浏览器,这在需要将写出来的内容立即输出到浏览器的场合非常有用。如当导入或导出 阅读全文

posted @ 2013-06-09 10:06 天上星 阅读(359) 评论(0) 推荐(0) 编辑

2 Request对象的一些属性等
摘要:Request.AppRelativeCurrentExecutionFilePath,获取当前执行请求相对于应用根目录的虚拟路径,以~开头,比如"~/default.ashx"Request.PhysicalApplicationPath,获取当前应用的物理路径,比如:d:\VS2010\website\Request.PhysicalPath,获取当前请求的物理路径,即包括文件名,比如:d:\vs2010\website\default.aspxRequest.RawUrl,获取原始请求的URL、Request.Url获得请求的URL,区别涉及到URL重写的问题Requ 阅读全文

posted @ 2013-06-09 09:47 天上星 阅读(2377) 评论(1) 推荐(1) 编辑

1.路径
摘要:在WinForm中当前路径为.\, 上级目录为..\, 根目录为\.而在web中/表示根目录,./表示当前目录,../表示上级目录。在asp.net中用~表示虚拟路径,是asp.net中的一种标识,表示从应用根目录开始的位置。如我们将一个应用程序部署到http://localhost:8080/Sorce这个目录下,应用的根目录(即webapplication)是http://localhost:8080/,即~/imgs/default.htm相当于完整的目录为http://localhost:8080/imgs/default.htm.而网站(新建website)的根目录为:http:// 阅读全文

posted @ 2013-06-08 17:22 天上星 阅读(308) 评论(0) 推荐(0) 编辑

16. XSS漏洞
摘要:XSS漏洞即跨站脚本(cross-site script)它的原理是当用户发布信息时,会利用js等脚本样的语句提交给服务端,主要是用到表单的get方法,把自己的js语句经url相关编码转换后提交给服务器并把此完整的url发给其它人,其它人在打开此url连接时就会弹出相关信息或重定位于其它服务器上,恶意的连接会让提示用户输入相关的帐户和密码并把用户的相关信息盗走。现在高级的浏览器上都已增加了XSS功能控制,把js或html的特殊符号,如<,\等转变为&lt等普通字符 ,这样在浏览器显示时就不会进行解析成其它的东西。在asp.net的页面中可以增加ValidateRequest=Tr 阅读全文

posted @ 2013-06-03 15:07 天上星 阅读(183) 评论(0) 推荐(0) 编辑

15. asp.net服务端控件的visible
摘要:我们在写html时,会让一个元素不呈现在网页上,我们可以用style="displayed='none'"来控制,但在网页的查看源码下就可以看到这个没呈现出来的元素信息,如一个下载地址,虽然在网页浏览时看不到,但可以在源码中查看并可以下载。 在Asp.net中我们把服务端的控件设置为visible=false的话,在客户端是不会呈现出此元素信息的,因为服务器不会把隐藏的元素渲染到浏览器的。 阅读全文

posted @ 2013-06-03 14:52 天上星 阅读(434) 评论(0) 推荐(0) 编辑

14. 客户端和服务端校验的必要性
摘要:我们会在客户端进行必要的验证,不仅增加数据的准确性也减少了数据流量,但客户端的验证可靠吗?我们做个网页,在网页中放一个textbox和button,当用户点击button时,我们判断textbox 中我拉输入的值的大小,大于100则不给出提示,小于等于100则提示正常。在asp.net中,button有个onclientclick属性(不是事件),它响应的操作是在客户端进行的,它另有个onclick事件是在服务端完成的,以下为它的关键源代码: <asp:Button ID="Button4" runat="server" onclick=" 阅读全文

posted @ 2013-06-03 14:47 天上星 阅读(675) 评论(0) 推荐(0) 编辑

13.特殊IP的区别
摘要:我们在开发程序时一般用到本机的ip时我们会使用localhost或127.0.0.1.在asp.net 开发中VS已给我们集成了一个小型的服务器,但它只能运行于本机上,它默认用localhost:端口。127.0.0.1(localhost): 又叫Loopback,即回环地址,在我们调试程序时,数据是不经过网卡的,即是没有安装网卡也可以调试,它中有本机才能用,你就是改成它的 IP也不行。0.0.0.0: 又叫Any IP,即任意IP. 可能一台机器上会装有多个网卡,一个连接外网,一个内网,一个是安全方面的通讯网卡,因此此机上会有多个IP地址,每个网卡访问的资源不一样,把程序绑定到0.0.0. 阅读全文

posted @ 2013-06-03 14:23 天上星 阅读(225) 评论(0) 推荐(0) 编辑

12. 断点续传的原理
摘要:断点续传及多线程下载原理: 即用段的类型,如发送命令 get a.zip http/1.1 length 1M-2M,这样就只把a.zip中每1M-2M这段的数据请求下载下来,即每次把长度分段,到下载完整后再整合到一起即可,当然这要由服务器支持才行。 阅读全文

posted @ 2013-06-03 14:12 天上星 阅读(243) 评论(1) 推荐(0) 编辑

11.http报文
摘要:我们用分析工具时可以看到浏览器给服务端发送的一些格式数据,也可以看到服务端返回的格式数据请求的报文:POST 提交的服务端网页 HTTP/1.1 (有get和post两种方法,最后为http协议)Accept: text/html, application/xhtml+xml, */* (数据格式)Referer: http://localhost:10209/楠岃瘉鐮佸師鐞?ClientVerification.aspx (参考路径或服务端网页)Accept-Language: zh-CN (语言)User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; 阅读全文

posted @ 2013-06-03 14:00 天上星 阅读(576) 评论(0) 推荐(0) 编辑

10. http 的一些说明及分析工具
摘要:http有三个版本,分别为http/0.9,http/1.0,http/1.1,目前大多数用的协议为1.1t版本。http协议的一些概念: connection:浏览器和服务器之间的通道。 此通道请求完毕后就关毕,不会保持长连接。 Request : 请求。 浏览器向服务器发送的请求,包含请求的类型、数据、浏览器信息(语言、版本等)等 Respone :响应。 服务器对浏览器请求的返回数据,包含是否成功,错误码等。在开发网页时有以下几个常用的http分析工具: debugBar :它是一个免费的http分析工具,安装在IE上后,你提交一下数据,点击此工具图标,在它的http(s)中就可以看到当 阅读全文

posted @ 2013-06-03 11:36 天上星 阅读(227) 评论(0) 推荐(0) 编辑

9. 验证码原理
摘要:为防止暴力操作,现在很多网站都会用图片验证码来防止这样的操作。图片验证码的原理是: 服务器处理程序产生随机数字并把这些数字绘制于图片中,同时把数字保存于session中,客户端根据显示的图片信息把验证码输入到编辑框中并提交到服务端,服务端根据编辑框中的数据和session的值进行比较即可。1.建立一般处理程序<%@ WebHandler Language="C#" Class="HandlerVerification" %>using System;using System.Web;using System.Drawing;using Sys 阅读全文

posted @ 2013-06-03 11:17 天上星 阅读(1147) 评论(0) 推荐(0) 编辑

8.暴力破解和暴力注册原理
摘要:暴力破解原理:其实就是根据服务端一定的规律并让程序利用循环的方法计算得到一定值和服务的值进行比对,下以为实例:我们做个登录的网页,例如已知道登录账号但不知密码,程序利用一定的算法来进行密码计算并试图登录即可。就是用到了表单的get方法。1.网页端源码及图片:<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Login.aspx.cs" Inherits="Login" %><!DOCTYPE html PUBLIC "-//W 阅读全文

posted @ 2013-06-03 11:08 天上星 阅读(2325) 评论(0) 推荐(0) 编辑

7 Session原理
摘要:有的隐私信息或不能让客户端随便改动的信息放在服务端即可,这时我们就用到session这人名词。以下的例子是我们在客户端写个值保存于服务器上,服务器读取其值对显示在服务端:为了实现上述的情况,我们建立一个类,让cookie传递一个id值给服务端,服务端再把得到的返回到客户端:1。服务端的类using System;using System.Collections.Generic;using System.Linq;using System.Web;/// <summary>///SessionMgr 的摘要说明/// </summary>public class Sess 阅读全文

posted @ 2013-06-03 10:39 天上星 阅读(281) 评论(0) 推荐(0) 编辑

6. Asp.net 中的Cookie
摘要:Cookie是记录客户端的一些信息,是用户要求记录的。但它是和服务端相连的,向服务器请求的时候除了发送表单参数外还会把与站点相关的所有Cookie提交给服务器,这是强制性的,服务器会把修改后的cookie值返回给浏览器并更新本地的cookie。cookie也是键/值对,以下为读写的操作。在asp.net 中设置cookie的操作为(写): Response.SetCookie(new HttpCookie(key,value));读的操作为:Request.Cookies[key].Value;即写的操作是由响应操作的,即Response,读的操作是浏览器请求得到的,即Request.cook 阅读全文

posted @ 2013-06-03 10:17 天上星 阅读(273) 评论(0) 推荐(0) 编辑

5. ViewState原理
摘要:在以上的章节中说明过,只有表单域中有Name的属性元素值才能被传输到服务端。如果我们想在div中显示一个值进行递增(不要放服务端控件),而div又没有name属性,哪它如何显示自增呢?(纯粹用html元素)我们可以这样处理一下: 1.在客户端中我们放一个hidden元素,由于它有name值,故可以传递它的name及value到服务端,我们可以把它的value值设置为@value(自行设计),在div中也用@value显示,即<div> @value</div>,让客户端表单处理的页面指向服务端,当服务端得到hidden的值后并加1再把整个客户端页面中的@value替换为 阅读全文

posted @ 2013-06-03 09:57 天上星 阅读(815) 评论(1) 推荐(0) 编辑

4. get和post的区别
摘要:我们在提交表单时有两种方式,一样get,二为post. 它们都是把相关的数据提交给服务端。即设置表单method为get或post即可。它们的区别为: 1. get是通过URL传递表单值,它传递的值是可以让用户看到的。post是隐藏到head的报文中的,用户看不到。 2.get传递的数据量是有限的,如果要传递大数据量就不能用get,比如type为file,textarea或敏感信息password等,post则没有这个限制 3.post在提交数据时,会有浏览器提示“重新提交表单”的问题,get则没有。get提交数据的方式为:服务端文件名后跟着?,由于客户端可能向服务器端提交多个键值对,每个键值 阅读全文

posted @ 2013-06-03 09:23 天上星 阅读(366) 评论(1) 推荐(0) 编辑

3. 什么叫postback
摘要:当我们直接从服务端读取网页时,表时此网页并没有post(提交),当用户再次提交表单时,就会把此网页的相关参数传给服务器处理,对于服务器来说就是一个postback(提交返回),即提交回来了。这就是postback.在网页开发时这个很重要,用户第一次加载时就不是postback,当用户把相同的网页提交给服务端时就是postback.我们建立如下测试程序,先建一个模板,即一个带form的表单,它里面放上一个textbox和一个submit按钮。当点击按钮时会把textbox的值传给服务端的程序来处理,服务端根据是第一次加载还是再次提交返回给用户,当然服务端会把此模板返回回来。注意模块是不直显示的, 阅读全文

posted @ 2013-06-01 09:58 天上星 阅读(568) 评论(0) 推荐(0) 编辑

2.网站的运行原理
摘要:我们在用高级语言建立动态网页时,是放在服务器上运行,然后会在客户端请求时显示于客户端,当客户端提交后会提交到服务器,然后服务器会把相关结果传给客户端。就如同在银行开户时一样,你先写个请求表单,把表单交给工作人员后进行处理,处理完成后工作人员给你反馈结果,网站的原理也是如此。本例中我们探询网站的原理: 1.建立一个表单,为登录使用。放上一textbox,及sumbit。sumbit用于提交表单。我们建立的是htm页面。<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w 阅读全文

posted @ 2013-06-01 09:40 天上星 阅读(2193) 评论(0) 推荐(0) 编辑

1.WebApplication和WebSite的区别
摘要:我们在VS2010中新建网站时,点击菜单:文件->新建时,下面有项目和网站两个选择,新建时的默认名字为WebApplication和WebSite的名称。它们的区别为: WebApplication 在改变代码后必须要重启网页才能看到效果,它有namespace空间名称,在编译后会形成一个dll。也可以在改变代码后点击“生成”菜单的“生成解决方案”后也能立即看到效果。不需要重启浏览器。它是在生成后才会将变化的部分生成dll.Website在改变代码后不用重启网页,它没用到namespace空间名,主要是方便从asp转过来的使用者。每个asp页面会转成一个dll.即多个dll. websi 阅读全文

posted @ 2013-06-01 09:03 天上星 阅读(2217) 评论(1) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示