zoukankan      html  css  js  c++  java
  • 011-Server服务器对象属性

    Transfer:第一个页面直接调用第二个页面,执行完第二个页面后不再返回第一个页面,立即响应到客户端浏览器。
    Execute:第一个页面直接调用第二个页面,执行完第二个页面后再返回第一个页面执行,最后响应到客户端浏览器。

    如果能访问到Server对象,可以直接调用Server对象的UrlEncode()和UrlDecode()。如果访问不到,则可以调用HttpUtility.UrlEncode()和HttpUtility.UrlDecode();

    Url编码其实就是把每个汉字都是用utf进行编码,获取byte字节,然后把每个byte字节都转换为16进制后前面加个%

    Server是上下文对象context的一个属性,是HttpServerUtility类的一个对象

    Server.HtmlDecode()、Server.HtmlEncode() Server.UrlEncode()、 Server.UrlDecode()是对HttpUtility类中相应方法的一个代理调用。推荐总是使用HttpUtility,因为有的地方很难拿到Server对象,而且Server的存在是为以前ASP程序员习惯而留的。
    别把HtmlEncode、UrlEncode混了,UrlEncode是处理超链接中的中文问题, HtmlEncode是处理html代码的。还是推荐用HttpUtility.HtmlEncode。

    Server.Transfer(path) 服务器端重定向请求,Server.Transfer(“JieBanRen.aspx”)将用户的请求重定向给JieBanRen.aspx处理,是服务器内部的接管(不能重定向到外部网站),浏览器是意识不到这个接管的,不是象Response.Redirect那样经历“通知浏览器‘请重新访问url这个网址’和浏览器接到命令访问新网址的过程”,是一次http请求,因此浏览器地址栏不会变化。因为是内部接管,所以在被重定向到的页面中是可以访问到Request、Cookies等这些来源页面接受的参数的,就像这些参数是传递给他的,而Redirect则不行,因为是让浏览器去访问的。注意Transfer是内部接管,因此不能像Redirect那样重定向到外部网站。 (常考)Response.Redirect就可以重定向到外部网站。
    注意:不能内部重定向到ashx,否则会报错“执行子请求出错”

     1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Index.aspx.cs" Inherits="t3_Server.Index" %>
     2 
     3 <!DOCTYPE html>
     4 
     5 <html xmlns="http://www.w3.org/1999/xhtml">
     6 <head runat="server">
     7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
     8     <title></title>
     9 </head>
    10 <body>
    11     <form id="form1" runat="server">
    12     <div>
    13         <%=Server.MapPath("/") %>
    14         <h1>首页</h1>
    15         <hr/>
    16         <%=Html1 %>
    17     </div>
    18     </form>
    19 </body>
    20 </html>
     1     public partial class Index : System.Web.UI.Page
     2     {
     3         protected string Html1 { get; set; }
     4         protected void Page_Load(object sender, EventArgs e)
     5         {
     6             //服务器端跳转,客户端浏览器中看不到任何变化
     7             //Server.Transfer("List.aspx");
     8 
     9             //客户端跳转,告诉浏览器跳转
    10             //Response.Redirect("List.aspx");
    11 
    12             //&gt;&lt;
    13             //Html1 = Server.HtmlEncode("<h1>杨过vs小龙包</h1>");
    14             //Html1 = Server.HtmlDecode(Html1);
    15 
    16             //作用:不希望在地址栏出现中文时,可以进行Url编码
    17             //Response.Redirect("List.aspx?key=" + Server.UrlEncode("杨过"));
    18 
    19             Html1 = HttpUtility.HtmlEncode("<h1>杨过vs小龙包</h1>");
    20             Html1 = HttpUtility.HtmlDecode(Html1);
    21         }
    22     }
     1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="List.aspx.cs" Inherits="t3_Server.List" %>
     2 
     3 <!DOCTYPE html>
     4 
     5 <html xmlns="http://www.w3.org/1999/xhtml">
     6 <head runat="server">
     7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
     8     <title></title>
     9 </head>
    10 <body>
    11     <form id="form1" runat="server">
    12     <div>
    13     <h1>列表</h1>
    14     </div>
    15     </form>
    16 </body>
    17 </html>
  • 相关阅读:
    Qt CheckBox选中与未选中的使用
    Qt Excel表格宽高的设置
    VTK三维重建 使用VTK读取DICOM,并动态输出
    VC++ VTK 读取序列CT图片三维重建
    VTK 读取序列图像
    Qt QWidget提升QVTKWidget
    ITK 介绍
    Qt QMainWindow中利用多个QDockWidget构成标签页tab || tabifyDockWidget
    Qt QDockWidget属性 setFeatures、setAllowedAreas
    Qt Designer中toolBar的allowedAreas属性
  • 原文地址:https://www.cnblogs.com/ninghongkun/p/6287262.html
Copyright © 2011-2022 走看看