在asp.net 中應用POST傳遞和接收XML文件以及參數.(轉)


使用POST方式可以向別的頁面發送請求,並獲取返回結果。

可以從一個頁面發送POST到另一個頁面,也可以在winform工程中使用HTTPRequest發送POST到一個頁面。我們拿ASP.NET的aspx頁面做個例子,從一個aspx頁面POST.aspx ,發送請求到Receive.aspx頁面。

1.首先,建立工程,添加兩個頁面,Post.aspx和Receive.aspx

   在post頁面中放一個BUTTON,在它的click方法中我們可以寫這樣的一段代碼:

private void Button1_Click(object sender, System.EventArgs e)
  {

//XML文件路徑

  string xmlFileName = Server.MapPath("File/Frame.xml");

   HttpWebRequest req = null;
   try
   {
    //設置要POST到的頁面URL,這里中文參數或者有特殊符號的,要進行編碼.
    string url = "http://localhost/Receive.aspx" +
                             "?DwgFileName="+HttpUtility.UrlEncode("NNN+10111452505252706++2.bmp,NNN+10111457375757706++13.bmp")+
              "&PltFileName="+HttpUtility.UrlEncode("NNN+10110934363434706++主頁.JPG");

   //創建一個HttpWebRequest對象
    req =  (HttpWebRequest) HttpWebRequest.Create(url);

   //設置它提交數據的方式post
    req.Method = "POST";

   //設置 Content-type HTTP 標頭的值
    req.ContentType = "text/xml";// "application/x-www-form-urlencoded;charset=gb2312";
   
    using (StreamWriter requestWriter = new StreamWriter(req.GetRequestStream()))
    {

    //定義一個StreamReader對象,用於讀取xml文件的內容
     StreamReader reader = new StreamReader(xmlFileName);
     string ret = reader.ReadToEnd();
     reader.Close();

     requestWriter.WriteLine(ret);//將讀取的內容寫入到RequestStream中。
    }
    Response.Write("發出去了");
   }
   catch(Exception ex)
   {
    throw ex;
   }
   finally{
  
   }

}

2. 再來看一下接收頁面Receive.aspx

    在Receive.aspx頁面的PageLoad方法中進行接收POST過來的請求。

private void Page_Load(object sender, System.EventArgs e)
  {
   if(Request.RequestType == "POST")
   {
    //Response.ContentType = "text/xml";

    string pltFileName = Request.QueryString["PltFileName"];//PLT文件名
    string dwgFileName = Request.QueryString["DwgFileName"];//dwg文件名列表 :111.dwg,222.dwg,333.dwg.....

    //接收並讀取POST過來的XML文件流
    StreamReader reader = new StreamReader(Request.InputStream);
    String xmlData = reader.ReadToEnd();
        try
    {
     //聲明一個XMLDoc文檔對象,LOAD()xml字符串
     XmlDocument doc = new XmlDocument();
     doc.LoadXml(xmlData);
     //得到XML文檔根節點
     XmlElement root = doc.DocumentElement;

     .....進行自己對XML的操作。。。

}

 


免責聲明!

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



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