1. 程式人生 > >C# Winform利用POST傳值方式模擬表單提交資料(Winform與網頁互動)

C# Winform利用POST傳值方式模擬表單提交資料(Winform與網頁互動)

其原理是,利用winfrom模擬表單提交資料,將要提交的引數提交給網頁,網頁執行程式碼,得到資料,然後Winform程式將網頁的所有原始碼讀取下來,這樣就達到windows應用程式和web應用程式之間傳參和現實資料的效果了。 ­

    首先建立一個windows應用程式和web應用程式。 ­

    在web應用程式中,將網頁切換到原始碼並把原始碼中一些沒用的程式碼刪掉,只保留頭部,在windows應用程式讀取網頁原始碼時,這些都會被一起讀下來,但這些都是沒用的資料,而且刪掉沒什麼影響。需要保留的程式碼如下: ­

  <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

 ­

  然後在Page_Load中實現功能,以下為一個將兩個數相加並將和返回給winform的網頁例子。 ­

  string A = Request.Form["a"].ToString();//由winform中傳給網頁的引數用a標識 ­

  string B = Request.Form["b"].ToString(); ­

  int C = Convert.ToInt32(A) + Convert.ToInt32(B); ­

  Response.Write(C.ToString());//將資料寫到網頁中 ­

  在winform中實現傳參的例子程式碼如下: ­

  private void button1_Click(object sender, EventArgs e) ­

        { ­

            WebClient w = new WebClient(); ­

            System.Collections.Specialized.NameValueCollection VarPost = new System.Collections.Specialized.NameValueCollection(); ­

            VarPost.Add("a", textBox1.Text.Trim());//將textBox1中的資料變為用a標識的引數,並用POST傳值方式傳給網頁 ­

            VarPost.Add("b", textBox2.Text.Trim()); ­

    //並將從網頁上返回的資料以位元組流存放到byRemoteInfo中)(注:IIS配置的時候經常沒配置好會提示錯誤,嘿) ­            

    string sRemoteInfo = System.Text.Encoding.UTF8.GetString(byRemoteInfo); ­

    label1.Text = sRemoteInfo; ­

         } ­

  這樣就實現了C# Winform利用POST傳值方式模擬表單提交資料,在這僅供大家參考