程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> DotNet Form間數據傳遞

DotNet Form間數據傳遞

編輯:.NET實例教程

1.WebForm

利用System.Web Namespace 中 HttpResponse Class的Redirect方法傳遞,HttpRequest Class的 QueryString方法接收

傳遞來源類webform1 中的某個方法裡 使用

              Response.Redirect ("WebForm2.ASPx?s=1&ss=11");

              //HttpResponse 類的方法和屬性通過 ASP.Net 的內部 Response 對象公開。

       //所以Response可以使用前者的方法

傳遞目標類webform2 中

          private void Page_Load(object sender, System.EventArgs e)

         {

              // 在此處放置用戶代碼以初始化頁面

              int loop1;

              NameValueCollection coll;

              

              //Load Form variables into NameValueCollection variable.

              coll=Request.QueryString ;

              //HttpRequest 類的方法和屬性通過 ASP.Net 的內部 Request 對象公開。

              // Get names of all forms into a string array.

              String[] arr1 = coll.AllKeys;         

              for (loop1 = 0; loop1 < arr1.Length; loop1++)

              {

                   Response.Write(arr1[loop1] + " = " + coll.GetValues(arr1[loop1]).GetValue (0)  +"<br>");

              }

 

         }

//這樣就列舉了從webform1傳遞來的s & ss的值

 

 

這裡要解釋一下服務器端控件 <form runat=server></form> , (我覺得)在ASP.Net中它只是其他服務器端控件的容器,不能再像原來的ASP那樣可以使用action屬性向其他頁面提交數據。下面是MSDN原文:

 

ms-help://MS.VSCC/MS.MSDNVS.2052/cpgenref/html/cpconHtmlformcontrol.htm

 

注意 action 屬性總是設置為頁本身的 URL。無法更改 action 屬性;因此,只能向頁本身回送。

 

2.         WindowsForm

利用form構造函數 Form()傳遞值.

Form Class 可以擁有多個構造函數,可以添加一個用來傳值的構造函數,如下

     &nbsp;   public Form2()

         {

              //

              // Windows 窗體設計器支持所必需的

              //

              InitializeComponent();

 

              //

              // TODO: 在 InitializeComponent 調用後添加任何構造函數代碼

              //

          }

 

         public Form2(int iii )

         {

              //

              // Windows 窗體設計器支持所必需的

              //

              InitializeComponent();

             

//這裡添加一個label以顯示傳來的值

              this.label1.Text= iii.ToString ();

              //

              // TODO: 在 InitializeComponent 調用後添加任何構造函數代碼

              //

         }

 

在打開form2的form1的某個方法裡如下使用,可以把123傳給form2

       //WindowsApplication1是我的工程名

 

              WindowsApplication1.Form2 frm2 = new WindowsApplication1.Form2(123);

              frm2.Show ();

 

利用類的屬性傳值。

傳遞目標類form2 如下聲明

          private int i2 ;

        

         public int iLen

         {

              get{return i2;}

              set{i2=value;}}

         //這裡添加一個label以顯示傳來的值

          private void Form2_Load(object sender, System.EventArgs e)

         {

              this.label1.Text = this.i2.ToString ();

         }

 

傳遞來源類form1如下使用

        

              WindowsApplication1.Form2 frm2 = new WindowsApplication1.Form2 ();

              frm2.iLen =1234;

              frm2.Show ();

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved