ASP.Net笔记(简单总结)

来源:互联网 发布:数学试卷制作软件 编辑:程序博客网 时间:2024/05/18 15:03
1.什么是ASP.Net?简单作答:
答:ASP.Net是一种动态网页技术,前台是JS、Html代码;后台是C#代码。
2.Web应用程序和网站
WebApplication(Web应用程序)和WebSite(网站)的区别:WebSite是为了兼容从ASP转过来的开发人员的习惯而存在的,用起来简单,比如不需要创建命名空间、CS代码修改后不需要重启就能看到变化(无论是WebSite还是WebApplication,修改aspx都不需要重启),但是不利于工程化开发,比如代码出错不易发现,代码不分命名空间。开发技术上没有任何区别,只是开发、调试习惯不同而已。【讲简单基础知识时用WebSite:讲高级技术和做项目的时候用WebApplication】
3.提交到服务器的表单元素一定要设定name属性
4.get和post的区别(常考):get是通过url传递表单值,post通过url看不到表单域的值;get传递的数据量是有限的,如果要传递大数据量不能用get,比如type=“file”上传文章、type=“password”传递密码或者<textarea>发表大段文章,post则没有这个限制;post会有浏览器提示重新提交表单的问题,get则没有。
5.请求、处理、响应。
6.加法计算器,常见错误:把html设置成了起始页。type=submit才会自动提交表单,type=button不会自动提交
7.为什么单用div在服务器取不出来值呢?
答:因为不是服务器来读取客户的网页,而是浏览器收集客户在表单中输入的字段,然后形成请求参数发给服务器处理程序,由于没有把div当前的innerText发给服务器,所以服务器无法得知当前的值。
8.Lable版本的值存到了ViewState中,TextBox版本的不用存,因为TextBox就是input,自己就会提交给服务器,不需要隐藏字段。
回答ViewState原理的时候:说input(TextBox)自增和Div版本(Lable)的不同。
9.Http协议简介
   1>.Web开发是和Http协议打交道的,必须了解Http协议。Http协议版本:Http/0.9、Http/1.0、Http/1.1,现在主流的是Http/1.1版本。
    2>.Http协议分析工具:
       11>.DebugBar,Http(s)标签的内容。免费的。只能分析当前浏览器中的内容。
       22>.httpwatch,收费的,只能分析当前浏览器中的内容。推荐使用。
       33>.HttpAnalyzer,收费的,能分析计算机上所有的Http请求数据。
    3>.Http协议的几个概念:
       11>.连接(Connection):浏览器和服务器之间传输数据的通道。一般请求完毕就关闭,不会保持连接。
       22>.请求(Request):浏览器向服务器发送的“我要。。。”的消息,包含请求的类型、请求的数据、浏览器的信息(语言、浏览器版本等)。
        33>.响应(Response):服务器对浏览器请求的返回的数据,包含是否成功、错误码等。
10.Http 相应码
浏览器向服务器发出请求,服务器处理可能是成功、可能是失败、可能没有权限访问等原因,服务器通过相应码来告诉浏览器处理结果。
(1)“200”:ok
(2)“301”Moved Permanently 永久转移
(3)“302”:Found暂时转移
(4)“307”:Temporary Redirect
(5)“400”:Bad Request 错误请求,发出错误的不符合Http协议的请求
(6)“401”:Unauthorized未认证。一般需要用户名、密码才能登陆。
(7)“403”Fobidden禁止
(8)“404”:Not Found 未找到
(9)“500”:Internal Sever Error服务器内部错误
(10)“503”:Service Unavailable 一般是访问人数过多
200段是成功;300段需要对请求做进一步的处理;400段表示客户端请求错误;500段是服务器的错误。
11.<asp:Button来讲>onclick是服务端事件,onclientclick是最终生成到客户端浏览器中的onclick代码。
12.&lt表示小于号;&gt表示大于号;&nbsp表示空格;&amp表示引号。
13./表示网站根目录(域名)、../表示上级目录、./表示当前目录。
14.HttpHandler是请求的响应,可以输出普通的html内容,也可以输出图片、也可以输出一个文件。
15.响应的缓冲输出:为了提高服务器的性能,ASP.Net想浏览器Write的时候默认并不会每Write一次都会立即输出到浏览器,而是会缓存数据,到合适的时机或者响应结束才会将缓冲区中的数据一起发送到浏览器。
16.Response对象的主要成员:
   1》Response.Buffer、Response.BufferOutput;经过Reflector反编译,发现两个属性是一样的,Buffer内部就是调用的BufferOutput。这个属性用来控制是否采用相应缓存。默认是true。
   2》Response.Flush()将缓冲区中的数据发送给浏览器。这在需要将Write出来的内容立即输出到浏览器的场合非常适用。
   3》Response.Clear()清空缓冲区中的数据,这样在缓冲区中的没有发送到浏览器端的数据被清空,不会被发送到浏览器。
   4》Response.ContentEncoding输出流的编码。
   5》Response.ContentType输出流的内容类型。
17.WebForm分为两个文件aspx和aspx.cs,aspx是页面模版,是页面描述文件,就是html的内容,和aspx结合得更好,不用像一开始那样程序员自己去填充模版,控件都是定义在aspx中,内联的JavaScript、Css也是写在aspx中的,服务器的C#代码是定义在aspx.cs中。aspx控制页面长相,cs控制程序逻辑。aspx是 模板引擎,不需要再去寻找第三方的模板引擎。
18.ASP.Net服务器端基本控件1:
   1》、Lable控件,Text属性为显示文本。AssociatedControlID属性用来关联一个控件,如果为空的话会展示为Span,如果指定为一个控件的id,则会展示为一个HTML中的<Lable>并且将for属性设置为被关联控件的Clientid。
   2》、Literal控件也是展示一段文本,但是Literal控件不会渲染任何额外的标签,就是将Text属性的值显示出来而已。
   3》、TextBox控件,文本框控件。TextMode属性取值SingleLine、MultiLine、Password,分别渲染为input(type=text)、textarea和input(type=password),当AutoPostBack属性为true的时候,用户焦点离开TextBox就会造成页面Post,实现原理就是讲ASP.Net原理时的AutoPostBack。TextChange事件,文件发生变化的时候事件触发。
  4》、ReadioButton控件,渲染为input(type=radio),通过GroupName属性进行分组。
  5》、Button控件。OnClientClick属性,当用户点击按钮的时候在浏览器端执行的代码,注意OnClientClick是字符串属性,写的代码是JavaScript代码,运行在浏览器端。
原创粉丝点击