ASP.NET如何在窗体和窗体之间传送数据

大家都知道aspx在同一个页面中传值是很容易的(如textBox1.Text等)但有时必须向另一个页面传值用以前asp的方法的确觉得不怎么样,还要用Request.Form等东西好象又回到了从前。我这里使用一个类的静态属性作为两个类的外的全局变量实现了两个页面间传值.举一个简单的例子如下:    首先定义一个包含静态属性的类:
using System;    namespace study
{
/// <summary>
/// CIndex 的摘要说明。
/// </summary>
public class CIndex
{
  public static string name="";
  public CIndex()
  { 
  }
}
}    然后在一个包含信息提交的页面中这样写:
<%@ Page language="c#" Codebehind="submit.aspx.cs" AutoEventWireup="false" Inherits="study.submit" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
  <title>submit</title>
  <meta name="GENERATOR" Content="Microsoft Visual Studio 7.0">
  <meta name="CODE_LANGUAGE" Content="C#">
  <meta name="vs_defaultClientScript" content="JavaScript">
  <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
  <form runat="server" ID="Form1">
  <asp:TextBox id="textBox1" runat="server" />
  <asp:Button text="提交" runat="server" ID="Button1" />
  </form>
</body>
</HTML>    Codebehind:
首先引入study命名空间
using study;
再加入Button1的Click事件
private void Button1_Click(object sender, System.EventArgs e)
{
CIndex.name=textBox1.Text;//将要传到另一页的值赋给类的静态属性
Response.Redirect("getsubmit.aspx");
}    然后在另一个页面里面的codebehind里加入下面代码:
private void Page_Load(object sender, System.EventArgs e)
{
Response.Write("你输入的参数值是: " CIndex.name);
}

 感谢原创者的辛勤劳动,希望对您有所帮助,转载请注明原出处。
 您可能对 [Asp.Net] 的这些文章也感兴趣:

自定义控件:广告内容后期加载。以及NamingContainer层次的应用
清除缓存的方法!(编程中会用到的)
一个完整的支持最小化的自定义Panel控件
ASP.NET MVC Framework与WCSF中MVP模式比较
ASP.NET中Cookie编程的基础知识(2)
如何使用 ASP.NET 和 Visual C# .NET 向浏览器写入二进制文件
ASP.net实现无扩展名的URL重写。简单、方便、无需ISAPI
Edit Method
在Codebehind内动态设置显示内容的DataFormatString
解释:ASP.NET 2.0 中的 Windows 身份验证