回覆列表
  • 1 # 小雪020

    Response物件

    主要運用於資料從伺服器傳送到瀏覽器,可以輸出資料、頁面跳轉、各個網頁之間傳引數等操作。

    以下講解幾個常用例子:

    在頁面中輸出資料

    主要透過Write 、WriteFile方法輸出資料。

    Response.Write("hello");//在網頁上顯示hello

    Response.WriteFile(@"F:\\hello.txt");//在網頁上開啟hello.txt並顯示

    Response.Write("<script>alert("hello")</script>");//彈出一個框顯示hello

    Response.Write("<script>alert("跳轉");location.href(’webForm1.aspx’)</script>");//彈出一個框顯示“跳轉”並且網頁跳轉到webForm1.aspx。

    頁面跳轉並傳參

    Response.Redirect("~/WebForm2.aspx"); //使用Redirect方法重定向,跳轉到WebForm2.aspx 頁面

    在頁面重定向URL時傳引數,用“?”分隔開,比如:地址?引數&引數&引數。。。

    string name=”chen”;

    string sex=”boy”;

    Response.Redirect("~/WebForm2.aspx?Name="+name+”&Sex=”+sex)

    注意:需要另一個Request物件接收,才能在webForm.aspx上顯示。

    輸出二進位制圖片

    使用BinaryWrite顯示二進位制資料。

    先新增名稱空間,Using System.IO;

    FileStream str=new FileStream(Server.MapPath(“pic.gif”).FileMode.Open);

    //開啟圖片,並儲存在檔案流中

    long FileSize=str.Length;//獲取檔案流長度

    byte byt[] =new byte(FileSize);//定義一個數組,用於後面存位元組

    str.Read(byt,0,FileSize);//讀取位元組流,並轉化為二進位制,儲存在byt陣列中。

    str.Close();

    Response.BinaryWrite(byt);//讀取二進位制

    另外

    Response.Write(“<script>windows.Close();</script>”);//直接關閉視窗

    Request物件

    主要是檢索瀏覽器向伺服器發出的請求資訊。就相當於獲取上面Response從伺服器傳送到瀏覽器的訊息。

    獲取網頁見傳遞的引數。

    比如:上面傳參的

    string name=”chen”;

    Response.Redirect("~/WebForm2.aspx?Name="+name)

    獲取:

    Response.Write(“使用Request[string key 方法]”+Request[Name]);

    Response.Write(“使用Request.Params[string key 方法]”+Request.Params[Name]);

    Response.Write(“使用Request.QueryString[string key 方法]”+Request.QueryString[Name]);

    獲取客戶端瀏覽器的資訊

    主要使用Request的Browser物件,訪問HttpBrowserCapabilities屬性獲取當前的相關瀏覽器資訊。

    HttpBrowserCapabilities bb=Request.Browser;

    Response.Write(“客戶端瀏覽器相關資訊”);

    Response.Write(“型別:”+bb.Type);

    Response.Write(“名稱:”+bb.Browser;

    Response.Write(“版本:”+bb.Version);

    Response.Write(“操作平臺:”+bb.Platform);

    Response.Write(“是否支援框架:”+bb.Frames);

    Response.Write(“是否支援表格:”+bb.Tables);

    Response.Write(“是否支援Cookies:”+bb.Cookies);

    Response.Write(“遠端客戶端IP地址:”+bb.UserHostAddress);

    ....

    Application物件

    主要是共享一個程式級的先關資訊,比如多個使用者共享一個Application物件。

    使用Application實現全域性的儲存和讀取

    由於應用程式中的所有頁面都可以訪問這個全域性變數,所以要對其物件加上,加鎖和解鎖操作來保證資料的一致性。

    比如:

    Application.Lock();//加鎖

    Application[name]=”chen”;

    Application.UnLock();//解鎖

    常常運用於網站訪問計數器和網頁聊天。

    網站訪問計數器:

    1:

    新增一個全域性應用程式類(Global.asax),新增後會自動出現

    void Application_Start(object sender, EventArgs e)

    void Session_Start(object sender, EventArgs e)

    void Session_End(object sender, EventArgs e)

    ...事件,分別在以上三個事件新增方法

    void Application_Start(object sender, EventArgs e)

    { Application[“count”]=0;//應用程式啟動時執行 }

    void Session_Start(object sender, EventArgs e)

    { Application.Lock();//加鎖

    Application[“count”]=(int)Application[“count”]+1;

    Application.UnLock();//解鎖 }

    //會話啟動時執行

    void Session_End(object sender, EventArgs e)

    { Application.Lock();//加鎖

    Application[“count”]=(int)Application[“count”]-1;

    Application.UnLock();//解鎖 }

    //會話關閉時執行:

    2:

    所設定的網頁

    protected void Page_Load(object sender, EventArgs e)

    { Label1.Text = "訪問量:" + Application["count"]; }

  • 中秋節和大豐收的關聯?
  • 肺癌靶向藥耐藥怎麼辦?