asp.net內建對象 Response對象使用介紹_實用技巧

來源:互聯網
上載者:User

Response對象是HttpRespone類的一個執行個體。該類主要是封裝來自ASP.NET操作的HTTP相應資訊。Response對象將資料作為請求的結果從伺服器發送到客戶瀏覽器中,並提供有關響應的訊息。它可用來在頁面中輸出資料,在頁面中跳轉,還可以傳遞各個頁面的參數。
一、向頁面中輸出資料
文法格式
       Response對象通過Write方法或WriteFile方法在頁面輸出資料,輸出的對象可以是字元,字串,字元數組,對象或檔案。
       用Response輸出資料時,ASP.NET最重要的文法是:Response.Write(...);
執行個體:
(1)建立一個ASP.NET空網站,將網頁的標題設定為“在頁面中輸出資料”。
(2)右擊資源管理員中的項目名稱,選擇“添加新項”命令,在彈出的添加新項的對話方塊中選擇“文字檔”,名稱設定為“WriteFile.txt”。
(3)在WriteFile.txt文字檔中輸入如下文本:

English can be displayed normally. For example,this is a book.<br/> 但是中文文字需要設定一下:<br/> 即在Response.Write開始寫上如下的語句:<br/> Response.ContentEncoding = System.Text.Encoding.UTF8;或Response.ContentEncoding = System.Text.Encoding.Default; <hr/> 

 (4)在Default.aspx.cs檔案中找到Page_Load函數,在函數中輸入如下內容:

//Response.ContentEncoding = System.Text.Encoding.UTF8; //Response.ContentEncoding = System.Text.Encoding.Default; char c='a'; string s="用Response列印字串"; char[] cArray = { '用', 'R', 'e', 's', 'p', 'o', 'n', 's', 'e', '打', '印','字','符','數','組',}; Page p = new Page(); Response.Write("輸出單個字元:"+c+"<hr/>"); Response.Write("輸出一個字串:" + s + "<hr/>"); Response.Write("輸出字元數組:"); Response.Write(cArray,0,cArray.Length); Response.Write("<hr/>"); Response.Write("輸出一個對象:" + p + "<hr/>"); Response.Write("輸出一個檔案:" + "<hr/>"); Response.WriteFile(@"~\WriteFile.txt"); 

(5)啟動調試啟動並執行結果為:

二、向頁面輸出影像檔
1)利用WriteFIle方法
文法格式
       該方法將圖片檔案以檔案流的方式輸出到用戶端頁面。該方法使用使用之前,必須通過ContentType屬性定義檔案流是什麼類型檔案。
        Response.ContentType="image/JPEG";
        Response.WriteFile(包含圖片的檔案名稱);
 執行個體
(1)我們可以利用Windows系統內建的畫圖工具簡易畫一個映像,也可以從網上下載一個映像,儲存在本地硬碟檔案系統中,檔案名稱設定為tempimage.jpg。
(2)在本地硬碟檔案系統中找到tempimage.jpg,將其複製到網站資源管理員中。右擊資源管理員,選擇“粘貼”選項,將此檔案粘貼到本項目中。
(3)在Default.aspx.cs檔案中找到Page_Load函數,在函數中輸入如下內容:

Response.ContentType = "image/JPEG"; Response.WriteFile(@"~\tempimage.jpg"); 

 (4)啟動並執行結果為:

2)用BinaryWrite方法輸出映像
文法格式
       通過Response對象的BInaryWrite方法輸出二進位映像格式如下:
       byte[] buffer=new byte[整型檔案長度];
       Response.BinaryWrite(buffer);

執行個體
(1)從網上找一個*.gif檔案,儲存到本地硬碟檔案系統中,檔案名稱設定為picture.gif。
(2)右擊網站資源管理,選擇“添加現有項”,彈出“添加現有項”對話方塊,找到你儲存圖片的本地位置,點擊“添加”即可。
(3)在Default.aspx.cs檔案中找到Page_Load函數,在函數中輸入如下內容:

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.IO;//添加的命名空間   public partial class _Default : System.Web.UI.Page {  protected void Page_Load(object sender, EventArgs e)  {  //開啟圖片檔案,並存在檔案流中  FileStream stream = new FileStream(Server.MapPath("picture.gif"),FileMode.Open);  long FileSize = stream.Length;//擷取流的長度  byte[] Buffer=new byte[(int)FileSize];//定義一個位元據  stream.Read(Buffer,0,(int)FileSize);//從流中讀取位元組塊並將該資料寫入給定緩衝區中  stream.Close();//關閉流  Response.BinaryWrite(Buffer);//將圖片輸出在頁面上  //設定頁面的輸出格式  Response.ContentType = "image/gif";  Response.End();//中止頁面的其他輸出  } } 

 (4)啟動並執行結果為:

三、頁面跳轉
       Response對象的Redirect和AppendHeader方法均可實現頁面重新導向功能。Redirect方法較為常用,但該方法在頁面進行跳轉,即在頁面開啟後才執行的頁面重新導向。而AppendHeader方法是在頁面開啟前執行的頁面重新導向。前者還會執行頁面的一些程式,而後者不會。
1、AppendHeader方法
       文法格式
       Response.AppendHeader(Name,Value)
       參數Name為HTTP頭,參數Value為HTTP頭的值。
       HTTP頭是HTTP協議規定的請求和響應訊息都支援的頭域內容。HTTP頭是頁面通過HTTP協議訪問頁面時,最先響應的請求和響應訊息,例如HTTP頭中的Location,Location頭用於將頁面重新導向到另一個頁面,與Redirect方法相似。
執行個體
(1)建立一個新的網站,預設首頁為Default.aspx。在Default.aspx.cs檔案中找到Page_Load函數,在函數中輸入如下內容:

Response.Status = "302 Object Moved"; Response.AppendHeader("Location","http://www.baidu.com"); 

 (2)啟動並執行結果為:

2、Redirect方法
       文法格式
       Response.Redirect("重新導向網頁方法")方法
執行個體
 (1)建立一個新的網站,預設首頁為Default.aspx。在Default.aspx.cs檔案中找到Page_Load函數,在函數中輸入如下內容:   
Response.Redirect(@"~/Redirect.aspx");  
(2)右擊網站資源管理員,選擇“添加新項”,在“添加新項”對話方塊中選擇“Web表單”,命名為Redirect.aspx。
(3)在Redirect.aspx表單中,添加代碼:

<form id="form1" runat="server"> <div>這是重新導向頁!!!</div> </form> 

(4)啟動並執行結果為:

四、Response對象與JavaScript結合使用
      有時候,我們需要在後台伺服器通過C#語言來執行前台用戶端的JavaScript代碼,有一種方法就是採用Response對象。採用Response.Write()方法將JavaScript指令碼寫入用戶端頁面的<head></head>中並執行,我們來說說常用的三種方法:
1、彈出提示對話方塊
       Alert在JavaScript中主要用於警告作用,例如將要關閉一個網頁時,可以提醒使用者網頁將要關閉。
       Response.Write("<script>alert('這是提示對話方塊')</script>");
 2、開啟視窗
       window.open用於開啟新的視窗,文法格式如下:
       Response.Write("<script>window.open(url,windowname[,loctaion])</script>");
       可以對開啟的新視窗設定文檔的名稱,視窗的寬高等一些參數。
3、關閉視窗
       window.close用於關閉瀏覽器視窗。
       Response.Write("<script>window.close()</script>");
       執行個體
(1)建立一個新的網站,預設首頁為Default.aspx,開啟設計檢視,從工具箱拖入三個Button控制項,分別設定為按鈕1,按鈕2,按鈕3。
(2)分別雙擊三個Button控制項,添加Click事件的代碼為:

protected void Button1_Click(object sender, EventArgs e) {  Response.Write("<script>alert('這是提示對話方塊')</script>"); } protected void Button2_Click(object sender, EventArgs e) {  //在新視窗中開啟Newwindow.aspx,各參數如下設定  string str = "<script>window.open('NewWindow.aspx','','height=100,width=400,top=0,left=0,toolbar=no,menubar=no,scrollbars=no,resizable=no,location=no,status=no')</script>";  Response.Write(str); } protected void Button3_Click(object sender, EventArgs e) {  Response.Write("<script>window.close()</script>"); } 

(3)右擊網站資源管理員中的“添加新項”,在“添加新項”的對話方塊中選擇“Web表單”,設定為Newwindow.aspx。在
頁面中添加代碼:

<form id="form1" runat="server"> <div> 這是window.open開啟的新表單!!! </div> </form> 

(4)啟動並執行結果為:
       單擊第一個按鈕:

       點擊第二個按鈕:

       點擊第三個按鈕,我運行了Google,Firefox,2345瀏覽器,第三個按鈕均沒有彈出提示框,最後使用IE開啟有了效果(這是瀏覽器設定的原因):

以上就是關於asp.net內建對象Response的執行個體介紹,希望對大家瞭解Response對象更有協助。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.