webform处理过程

一、post/get传值注意几点

  • post提交的时候,只有写了name属性且没有写disable=true表单元素(input,select,textarea)才会被提交。
  • 如果不确定是get还是post提交,用Request.Params["cName"]获取。
  • form里面如要上传文件,需要post方式提交,且要在form里面指定enctype="multipart/form-data"

二、webform(aspx文件)

  • webform后台页面类继承于Page类,Page类实现了IHttpHandler
  • webform中,程序员一般在Page_load中编码(类似于一般处理程序的PR)
  • 前台页面可以访问到后台页面类里面的非私有的全局变量,是因为前台页面会编译成一个类,这个类继承于后台页面。

        在前台页面里写获取前台页面编译后的程序集路径:<%=this.GetType().Assembly.Location%>,通过反编译工具观察后,可以发现以下现象:

        webform处理过程_第1张图片

  • 在Page_Load里面写的东西先于前台页面执行
  • 图片盗链:网站A里面包含图片标签指向其他网站的图片,就是图片盗链,可通过Request.UrlReffer的值获取图片请求页面地址,,判断地址是否为本服务器的页面,如果不是,则作为图片盗链处理
  • Request.UserHostAddress获取浏览器的ip地址,通过socket获得
  • Request.MapPath(virtulPath)将虚拟路径转为磁盘上的物理路径,如:Request.MapPath("./a/b.aspx")就会得到d:\2008\WebSite\a\b.aspx,Server.MapPath就是调用Request.MapPath

你可能感兴趣的:(webform)