background image

ASP NET 基础知识

 

对于还没有毕业的大学生来说,拥有多少项目经验 不是企业最看重的,企业更看中的是
对基础知识的掌握程度,万丈高楼平地起,现在我就总结一下这方面的基础知识,也当

 

做学习笔记吧!
WebSite 和 WebApplication 的区别

1)当改变后台代码时,WebApplication 需重

浏览器

者重新生成解决方案,而

WebSite 则不用;

2)WebSite 没有 Solution,没有 namespace

 

,不利于工程化开发。

HTTP 的工作方式是什么?

1

 

)客户端提交表单请求处理 Request

2

 

)服务器端处理程序进行处理 Handle

3)服务端相应        Response

注意:提交到服务器的表单元素一定要添加 name 属性,因为服务器只认 name,这一

点和 Jquery、DOM 不一样,它们只会识别 id. 
Form 的 method

 

属性指定表单的提交方式的问题 *

1)get(默认值)是通过地址栏的 URL 显式地传递表单;
post 传递的表单值是隐藏在 Http 报文中,URL 地址栏中是看不到的;

2)get 传递值的数量是有限的,会受到地址栏长度的影响,好像最大是 2K 个字节,而
post 则没有限制。

3)post 当刷新页面时,会有浏览器提示重新提交表单的对话框,而 get

 

则没有。

DIV 中的内容不会提交给服务器?

只有给 div 设置了 name 属性的 value 值(如 input、textarea、select 等)才会被提

 

交到服务器
ViewState 原理
1)隐藏一些字段,用来存放那些没有 value 属性值的控件

2)因为 http 是无状态的协议,所以当页面发生改变的时候,会用 viewstate 保持页面

上一次的状态。
3)例如:label 控件被浏览器渲染成<span>标记,所以 label 的值就存在了
viewstate 中;

同理,textbox 控件也被浏览器渲染成了 input 标记,TextBox 中的值不用存,因为
TextBox 本质上就是 input,input 自己会提交给服务器,不需要隐藏字段。

4)可以通过 ViewStateDecoder 工具查看 viewstate

 

中的容的本来面目。

状态信息保存在隐藏字段中(viewstate)的优缺点

1)加大网站流量
2)降低访问速度

3)机密数据放到表单中会有数据欺骗等安全性问题(如网银等)。* 

所有的后台程序实现的都是 IhttpHandler

 

接口

Cookie 和 session 都是用来存放当前客户端的相关数据,
cookie 存放在客户端,session 存放在服务器端。

注意:session 中不能保存太大的数据,它存的是 object 类型的数据,所以使用时需要

 

进行类型装换。
http 请求报文时,页面中的每类元素,如 img、js、css 等文件都是单独请求的。这一

点可以通过开发者工具或者大名鼎鼎的 Firebug 查看。

*http 是"无状态"的协议,所以它不会记得上一次做过什么,不会记得上次给浏览器发过
**信息,所以当它下次重新请求时,img、js、css 等文件会重新发来 header

 

信息。

get 是通过 url

 

地址栏传送的参数显式地传递的,如: ?a=123&b=abc 

post 是不通过 url

 

传值的,但是它在后台悄悄地传送数据 ,用__VIEWSTATE 隐式地传

 

送。
HTTP

 

各种状态码 含义

1)200 系列,表示请求成功,OK
2)300 系列,如 307,表示服务器重定向,需要对请求做进一步处理;

3)400 系列,如 404,表示页面未找到,file not found.
4)500

 

系列,表示内部服务器错误。

后台写删除按钮提交事件是,要在 Button 控件中的 OnClientClick 属性中加上
<input type="submit" name="delete" value="删除" OnClientClick="return