首页 > 代码库 > 北大青鸟ASP.NET之总结篇
北大青鸟ASP.NET之总结篇
自从开学到现在,软考机会占据了学习的主要时间,但是关于asp.net的学习一拖再拖,今天终于系统的看了一遍,也许以前做过牛腩新闻发布系统,在看视频的过程中总是感觉自己学到的东西非常少,产生共鸣的地方却很多。也许只有在实践项目的时候才能把视频中的精髓表现出来吧。好了,下面我就来系统的总结一下自己的理解。
米老师说过,总结时类别最好不要超过三个,所以将我分成了ASP.net控件,ASP.Net对象和最后的讲到的web.config的配置。
1.ASP.NET控件篇
ASP.NET - 服务器控件
服务器控件是可被服务器理解的标签。ASP.net服务器端控件都在<form>表单中,如果不在表单中,那么一定会出错
有三种类型的服务器控件:
1.HTML 服务器控件 - 传统的 HTML 标签
2.Web 服务器控件 - 新的 ASP.NET 标签
3.Validation 服务器控件 - 用于输入验证
<1>ASP.NET - HTML 服务器控件
HTML 服务器控件是服务器可理解的 HTML 标签。
ASP.NET 中的 HTML 元素是作为文本来进行处理的。要想使这些元素可编程,就需要向这些 HTML 元素添加 runat="server"属性。该属性指示,此元素是一个服务器控件。同时要添加 id 属性来标识该服务器控件。id引用可用于操作运行时的服务器控件。
注意:所有 HTML 服务器控件必须位于带有 runat="server" 属性的 <form> 标签内。runat="server" 属性指示该表单应在服务器进行处理。它同时指示其包括在内的控件可被服务器脚本访问。
<2>ASP.NET - Web 服务器控件
Web 服务器控件是服务器可理解的特殊 ASP.NET 标签。
类似 HTML 服务器控件,Web 服务器控件也在服务器上创建,它们同样需要 runat="server" 属性以使其生效。不过,Web 服务器控件没有必要映射任何已存在的 HTML 元素,它们代表更复杂的元素。
创建 Web 服务器控件的语法是:
<strong><span style="font-size:18px;"><asp:control_name id="some_id"runat="server" /></span></strong><3>ASP.NET - Validation 服务器控件
Validation 服务器控件用于验证用户输入。如果用户输入没有通过验证,将给用户显示一条错误消息。个人理解这个控件的实用性极强,可以给我省去好多判断的过程。希望在日后能够好好应用。每种 validation 控件执行一种特定的验证类型(比如验证某个具体的值或者某个范围的值)。默认地,当点击 Button,ImageButton 或 LinkButton 时,页面验证才会被执行。您可通过把 CausesValidation 属性设置为 false,来阻止某个按钮控件被点击时进行验证。
创建 Validation 服务器控件的语法是:
<strong><span style="font-size:18px;"><asp:control_name id="some_id"runat="server" /></span></strong>2.ASP.NET对象篇
<1>ASP.NET中的常用系统对象
Page对象:指向页面自身的方式,作用域为页面执行期
Request对象:读取客户端在Web请求期间发送的值
Response对象:封装了页面执行期返回到HTTP客户端的输出
Application对象:作用于整个程序运行期的准柜台对象
Session对象:会话期状态保持对象,用于跟踪单一用户的会话
Cookie对象:客户端保持会话信息的一种方式
Server对象:提供对服务器上方法和属性的访问
<2>Page对象
Page是Page类对象,代表一个Web窗体,它充当页面,包含的所有服务器控件的一个外围的命名容器它的类型为:System.Web.UI.Page是一个不要声明就可以使用的内置对象。常用属性:Title 获取或设置网页的标题。IsPostBack 获取一个值,用于指示该页是否正为响应客户端回发而加载获知是否正被首次加载和访问。 IsValid 指 获取一个值,用于指示页面验证是否成功。
<3>Response对象
服务器对客户端响应信息的集合。主要用来输出信息到客户端类型是:System.Web.HttpResponse也是一个不要声明就可以使用的内置对象
方法: Write() 直接在页面上输出内容,而Redirect() 是 重定向到另一个页面。
<4>Request对象
读取浏览器已经发送的内容,以使ASP.NET能够读取客户端在Web请求期发送的HTTP值, 类型是:System.Web.HttpRequest 也是不要声明就可以使用的内置对象。
QueryString ["对象名"] 获取通过URL路径传来的数据;
Form 获取通过表单提交传输的数据;
ServerVariables 属性 获取Web服务器变量的集合;
Params 属性 以上3种传输的内容都可以使用该属性获取。
<5>Server对象
MapPath方法 获得文件的物理路径
Execute方法和Transfer方法执行另一个页面的脚本
HtmlEncode方法HtmlDecode 将文本编码成可以再浏览器中正确浏览的格式
UrlEncode 和UrlDecode URL编码和解码
在Server这里我想多说一下,如果要把用户连接到另一台服务器上的资源,使用Response.Redirect。用Response.Redirect把用户连接到非ASPX的资源,例如HTML页面。如果要将查询字符串作为URL的一部分保留,使用Response.Redirect。如果要将执行流程转入同一Web服务器的另一个ASPX页面,应当使用Server.Transfer而不是Response.Redirect,因为Server.Transfer能够避免不必要的网络通信,从而获得更好的性能和浏览效果。如果要捕获一个ASPX页面的输出结果,然后将结果插入另一个ASPX页面的特定位置,则使用Server.Execute。如果要确保HTML输出合法,请使用Response.Redirect,不要使用Server.Transfer或Server.Execute方法。
<6>关于Session和Cookie的比较
Session---->存储于服务器。
Cookie----->存储于客户端。
关于Session的定义和使用:
Session["对象名"]=值;
Session.Add("对象名",值);
Session变量的有效期:如果以后两次访问Session变量的时间间隔超过有效期,服务器就自动释放该变量,默认20分钟。
Session.Timeout=30设置有效期;
Session.Abandon(); 删除所有;
Session.Clear();移除所有键和值;
Session.Remove(对象名)移除会话集合中的项;
Session简单来说就是服务器给客户端的一个编号,有若干个用户同时访问一个服务器的网站,当每个用户首次与这台服务器建立连接时,它就与这个服务器建立了一个Session,同时服务器会自动分配一个SessionID,用以标示这个用户的唯一身份,这个SesionID是由服务器随机产生的一个24个字符组成的字符串。
Cookie介绍:
Cookie提供了一种在Web应用程序中存储用户特定信息的方法。
Cookie是一段文本,伴随着请求和响应在服务器和客户端之间来回传输,比如我们逛淘宝的时候,输入我们自身的账号和密码登陆成功,如果我们遇到一些事情处理,关闭了网页,但是我们几分钟后还想逛一下,你会发现我们会直接登陆进去了,不需要输入账号和密码,其中这就是Cookie在搞怪。
Response.Cookies["UserName"].Value=http://www.mamicode.com/"das";设置
Response.Cookies["UserName"].Expires=DateTime.Now.AddDays(1);有效期
stringuser=Request.Cookies["UserName"].Value; 得到
3.ASP.NET文件配置
这里我就不多说了,记住两张图吧:
ASP.NET这部分内容写了密密麻麻如此多的文字,看起来会有点不舒服希望大家谅解,有什么错误希望大家指正。如果有好的建议也请多多和我交流。
北大青鸟ASP.NET之总结篇