web程序入门四(webform常用成员)
在一般处理程序中 ashx 中使用Request ,Response等 前面需要加 context.Requrest
web窗体aspx中直接使用 Request
Request其他成员
Request.UrlReferrer 上一次请求URL地址 一般用来防盗链
全局防盗链用用Globals.asax
Request.Url 当前请求URL地址信息
Response.WriteFile() 输出一个文件
Request.MapPath('/Image/aa/jpg') 将虚拟路径转换为磁盘上的物理路径
Response.WriteFile(Request.MapPath('/Image/aa/jpg') );
在HTML中关联一般处理程序,即可显示处理程序中返回的照片
<img src="show.ashx">
Request.UserHostAddress 获得访问者ip地址
Request.Cookies["key"] 获取浏览器发过来的cookie 接受cookie
Response成员:
Response.WriteFile() 输出一个文件
Response.Write() 向浏览器输出内容
Response.Buffer () 是否采用响应缓存 默认true
Response.BufferOutput 同上一个属性一样 Buffer内部调用的是BufferOutput
Response.Flush() 将缓冲区中的数据发送给浏览器 这在需要将Write出来的内容立即输出到浏览器非常适用
Response.Clear() 清空缓存区中的数据
Resource.ContentEncoding 输出流的编码
Response.ContentType 输出流的内容类型
普通文本:
Response.ContentType = "text/plain";
HTML:
Response.ContentType = "text/html";
JPEG图片:
Response.ContentType = "image/JPEG";
Response.Cookies 返回给浏览器的cookie的集合,可以通过它设置cookie 写cookie
Response.OutputStream输出流,在输出图片,Excel文件等非文本内容时使用
Response.End() 终止响应,将之前缓存中的数据发给浏览器,end之后的代码不会继续执行。
Response.Redirect(url) 重新定向浏览器的新网址,
Response.SetCookie(HttpCookie cookie)向输出流中更新写到浏览器中的Cookie,如果cookie存在就更新,不存在就添加
Server成员:
public HttpServerUtility Server{get;} 源码中代码
Server.MapPath() 获取物理路径
Request.MapPath()获取物理路径 与Server.MapPath()等价
Server.Excute(url) 加载另一个页面内容到本页 嵌入一个网页 类似iframe标签 iframe不利于百度爬虫优化(SEO) iframe标签常用来做网站后台管理系统,前端尽量不用。
Server.Transfer(url) 执行地址栏中的HTML代码 内部重定向 不会显示跳转后的地址,只有原地址 在服务端直接跳转
Response.Redirect(url) 重定向 这个在浏览器中看到的是跳转后的地址 会向浏览器发送302再跳转
Server.HtmlEncode() 编码
<%=Server.HtmlEncode("<span style='font-size:14px'>aaa</span>")%>
输出结果为<span style='font-size:14px'>aaa</span> 因为将<>都编码为了大于号和小于号
微软设置的安全检测机制 在前端输入框输入js等代码时,会自动检测终止发送。
此时,若是需要输入js等代码,然后显示在前端,并不执行,此时需要使用Server.HtmlEncode()
Server.HtmlDecode() 解码
Server.UrlEncode() 对地址栏传入的参数进行编码
http://www.dkh?page=中国&a=/
对于中文等特殊字符,需要先编码,再发送
Server.UrlDecode() 对地址栏传入的参数进行解码