web程序入門一(一般處理程序 ashx+HTML)


創建web程序:  通過一般處理程序  創建web應用

  這種方法比較麻煩       不拖控件

1.先建一個 一般處理程序 *.ashx

2.再建一個HTML 模板

在HTML中設置占位符 如 <p>$username</p> <p>$passwd</p>

在ashx文件中讀取HTML文件:

string filepath = context.Request.MapPath("*.html") 獲取該文件的物理路徑

string strhtml = File.ReadAllText(filepath) 讀取文件

strhtml = strhtml.Replace("$username","張三").Replace("$passwd","123456") 多個占位
符可以接着寫 替換占位符

context.Response.Write(strhtml); 返回頁面



 該方法常用方法:

關於post和get請求的:

 

接收post請求提交過來的數據

string  userName = context.Request.Form["txtName"] ;     txtName是文本框的name屬性值

如果表單是以post方式提交過來的,接收時必須用Request.Form來接收,表單元素必須有name

屬性,而Form指定的鍵的名稱就是name的屬性值。

 

 對於發送post/get請求的form表單網頁,會自動向一般處理程序發送請求

當后端只是需要獲得請求的數據,且不需要返回給前端時,不需要讀取前端頁面

有占位符時,需要讀取文件,再替換

后端數據需要返回給前端時,需要讀取前端頁面文件

 

 接收get請求發送過來的數據

string  userName = context.Request.QueryString["txtName"]; 

如果是get請求接收用Request.QueryString,

表單元素必須有name屬性,指定的鍵的名稱就是name的屬性值。

 

對安全性要求不高的表單用get請求,安全性要求高的用post請求

使用get請求時分享地址可以看到對方的搜索結果:有利於推廣

注冊登錄都用post  post請求發送的數據比get請求大  如上傳文件

 

 表單提交,在HTML文件中,form標簽的action屬性,指明要提交數據到那個一般處理程序

 

后端返回到前端的文件類型:

context.Response.ContentType = "text/plain";

 context.Response.ContentType = "text/html";

跳轉重定向:

 context.Response.Redirect("\test.ashx")    

context.Response.Redirect("\test.html") 

 

 接收文件 文件上傳

<input  type="file"   enctype=""   value ="fileup">

HttpPostedFile  file = context.Request.Files["fileup"];  接收文件數據

file.FileName  獲得完全文件名

文件下載:

對於壓縮包:

<a  href ="/aa.rar">下載</a>    直接這樣,點擊就可以下載      一般不這么用

對於普通文件下載:

<a  href ="/download.aspx">下載</a>

創建一個一般處理程序 download.aspx

string  encodeFileName = HttpUtility.UrlEncode("aaa.txt");  //要下載的文件名

HttpUtility.UrlEncode的作用是中文文件名時,防止亂碼,

context.Response.AddHeader("Content-Disposion", string .Format("attachment; filename = \{0}\" , encodeFileName));

//在響應頭加上Content-Disposition, attachment 表示以附件的形式下載

context.Response.WriteFile("aaa.txt")  //輸出文件內容

 

http協議無狀態:

可以通過如下方式記錄數據

1.隱藏域

<input  type ="hidden"   name="add"  value = “$id”>

放一個值在隱藏域中,提交form表單時,該隱藏域中的值也會被提交

提交表單時,可以把用戶看不見的數據,但是需要提交到服務端的數據通過隱藏域傳遞

修改<div>標簽中的值

 

提交只能提交表單中的數據,不能提交div中的內容

 

不同方式創建網站的區別:

通過  新建--網站

創建web網站沒有命名空間;

 當需要調用類時,把需要引用的類文件,放在App_code文件夾中

 

web網站每一個頁面(ashx)頁面都是一個獨立程序,一個頁面出錯了,不會影響另外一個頁面。

網站中每個頁面,都生成對應的程序集,名稱是隨機的,當文件保存以后,請求會自動保存一下。

如果你對文件中的代碼改動了,ASSembley.GetExecutingAssembly().Location會重新編譯生成一個新的

程序集,如果沒有改動,則不生成。

 

通過 新建--項目

創建web應用程序有空間;

 

項目中建立一個文件或是修改了一個文件,一定要重新生成,生成的目的就是將項目生成對應的dll文件

放到bin/Debug目錄下,(並且所有的類放在了該程序集中),如果項目中的一個文件出錯了,是沒辦法

生成成功的。

 

在實際生產中,使用web應用程序 通過項目建網站


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM