黑马程序员_学习日记20_ASP.Net初级

来源:互联网 发布:java命令参数 编辑:程序博客网 时间:2024/05/08 02:20

       提交到服务器的表单元素一定要设定name属性

       所有表单都是提交的以namekey,以value为值的数据

l        getpost的区别:get通过url传递,传递的数据量有限;post通过http报文传递;post

 

ViewState初探

ViewState原理:input版本(TextBox)自增和div版本(Label)的不同。Label版本的值存到了ViewState中,TextBox版本的不用存,因为TextBox就是input,可以自己提交给服务器,不需要隐藏字段

单个控件有EnableViewState属性

整个页面可以在aspxPage标签处修改EnableViewState属性

Cookie

       互联网优化案例:图片服务器和主站域名不一样,降低Cookie流量的传输。

Session 

是浏览器和服务器对应的一块内存的映射关系。不同浏览器访问同一页面产生不同的Session,同一浏览器访问一个网站的不同页面只产生一个Session

一般处理程序操作session的时候,一定要让一般处理程序实现IRequiresSessionState接口

http协议简介:

       Web开发是和Http协议打交道的,必须了解Http协议。Http协议版本:Http/0.9Http/1.0Http/1.1,现在主流的是1.1

      

l        Http协议分析:

1、 DebugBarHttp(S)标签的内容。免费的。只能分析当前浏览器的内容。

2、 http响应码:

浏览器向服务器发出请求,服务器处理可能是成功、失败、没有访问权限等原因,服务器会通过响应码来告诉浏览器处理结果。

200”:OK

301”:Moved Permanently永久转移

302”:Found暂时转移

307”:Temporary Redirect

400”:Bad Request错误请求,发出错误的不符合Http协议的请求

401”:Unauthorized未认证,一般需要用户名、密码才能登陆

403”:Forbidden禁止访问

404”:Not Found未找到

500”:Internal Server Error服务器内部错误

503”:Service Unavailable一般是访问人数过多

       200段是成功;300段需要对请求做进一步处理;400段客户端错误;500段服务器错误

l        Web开发的一些基本原则

1、 最小权限原则。只允许用户做***,而不是“不允许用户做***

2、 浏览器查看的是服务端代码执行输出的文本,除非服务器有漏洞,否则浏览者无法查看服务端的aspxcs代码,目标另存为也是保存的aspx的执行结果,而看不到aspx的源代码。jshtml是被输出到浏览器上执行的,因此无法禁止浏览者查看jshtml

3、 C#代码是运行在服务器端的,js代码是运行在浏览器客户端的。

4、 能在浏览器端完成的事情,就不要到服务器端去做。

5、 客户端是不可信的。客户端验证不能代替服务端验证

127.0.0.1是回环地址(LoopBack),就是表示访问本机。localhost就是127.0.0.1的别名,是无法在外部访问的。

0.0.0.0任意IPAny IP),不用写死绑定的IP,通过任意网卡都可以访问。

l        XSS漏洞

使用HttpUtility.HtmlEncode就可以将字符串中的</等特殊字符转换为HTML显示的字符,也就是不把<script>当成定义脚本的标签,而是当成“&lt;script&gt;”这样可以在页面上直接显示内容。

 

 

ASP.NET 3.5揭秘》

       ASP.NET页面中最基本的元素:指令、代码声明块、页面呈现块

指令:<%@ PageLanguage= “C#” %>

       指令主要用于提供给编译器编译该页面所需的信息。

代码声明块:<script>标签包含的内容叫代码声明块。代码声明块中包含页面要用到的所有方法,它包含这个页面的所有函数和子程序。

页面呈现块:<html>

 

       .NETFramework由两部分组成:框架类库和公共语言运行库。

1、 框架类库:.NET Framework包含成千上万能用于构建应用程序的类。框架类库被设计用来使最普通的编程任务更易于完成。.NET Framework包含了差不多13000个可用于构建应用程序的类。

l      默认的命名空间在根Web配置文件的pages元素中列出,这个文件位于下面的路径:

C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\Web.Config

l        程序集(assembly)就是保存.NET Framework中的类所在硬盘上的.dll文件。比如,ASP.NETFramework中所有的类都位于一个叫做System.Web.dll的程序集中。

程序集分私有和共享:私有程序集只能用于一个应用程序,而共享的程序集能用于同一个服务器端上的所有应用程序。共享程序集位于全局程序集缓存(GAC)中。全局程序集缓存的物理地址在计算机的\Windows\assembly目录。

l        使用.NET Framework中的任何类,必须做两件事情。第一,应用程序必须引用包含这个类的程序集;第二,应用程序必须导入这个类所关联的命名空间。

l        显示的添加一个程序集的引用:右键WebSite项目→添加引用,选择需要添加引用的程序集的名字。

l        给控件添加事件的方法:

1、在aspx.cs文件中,通过从左上角下拉列表中选择控件,从右上角下拉列表中选择事件,为控件添加事件处理程序。

2、在设计视图中,从设计器界面选择一个控件后,在属性窗口中通过点击事件按钮(闪电图标),再双击任一事件名为控件添加事件处理程序。

l        理解ASP.NET控件的事件发生在服务器端很重要。比如,当实际上点击了一个按钮时,Click事件并没有引发,直到包含这个按钮的页面被传回到服务器端,Click事件才被引发。

l        动态编译:

当你创建一个ASP.NET页面时,其实是在创建一个.NET类的源代码,创建System.Web.UI.Page类的一个实例(instance)。ASP.NET页面的所有内容,包括所有的脚本(script)和HTML内容,都会编译进一个.NET类中。

请求一个ASP.NET页面时,ASP.NET Framework检测这个页面对应的.NET类,如果对应的类不存在,Framework会自动把这个页面编译成一个新的类,并把编译后的类(程序集)保存在位于下面这个路径的ASP.NET临时文件夹中:

\Windows\Microsoft.NET\Framework\v2.0.50727\TemporaryASP.NET Files

       动态编译使ASP.NET应用程序得以支持成千上万并发用户,不同于传统的ASP页面,ASP.NET页面不需要在每次被请求时都进行分析和编译,ASP.NET页面仅在应用程序被修改时才进行编译。

l        <!DOCTYPEhtml PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

这句话是告诉浏览器你用的html代码是哪一个版本,w3c根据你声明的版本来检查你的代码是否符合w3c规范。XHTML 1.0 Transitional是过渡型,现在大部分用的都是这个。

 

 

问题:

1、为什么调试时老出现ASP.Net起始页?

       不光要设置“起始页”,还要设置“起始项目”,不然启动的是别的项目的起始页。

2、为什么在ASP.NET 中OnClick=“Button_Click” 不加括号
而在HTML中 onclick="Button_Click()"  要加括号?

加()表示调用,不加表示引用

 

原创粉丝点击