最佳窗体间传送数据的方法,同时可适用于其他传值方式
2006-03-08 12:41
253 查看
大家都知道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);
}
这样就完成了.简单吧.
备注:这个一定要注意静态变量的使用方法,不能从实例中调用。
首先定义一个包含静态属性的类:
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);
}
这样就完成了.简单吧.
备注:这个一定要注意静态变量的使用方法,不能从实例中调用。
相关文章推荐
- 由于您和其他用户试图同时改变同一数据,导致 Microsoft Jet 数据库引擎停止进程。解决方法
- android 音乐播放 启动方式 (1)利用内部类绑定service传送数据,只适用于单activity
- dedecms后台还原部分数据表的同时不清空其他的表的好方法
- 发送数据到其他页面的方法:(在url上看不到所传送的参数)
- c#中怎样在窗体间相互传送数据,且能在修改窗体A的数据时,窗体B能够根据窗体A的数据同时作出反应修改其相应数据
- .NET 窗体间传送数据方法谈 —— 迟来的补遗
- 基于Wolf32F031 自由评估板的Buzzer(PWM控制方式)实验硬件原理及软件API使用方法(适用于STM32F030/031)
- 记录一种数据的传送方式,ARM7传送数据到GPIO
- 提高D-Bus传送数据的速度的一种方法
- Android ListView最佳处理方式,ListView拖动防重复数据显示,单击响应子控件
- WinForm 窗体间传递数据的一些方法[转]
- FU-A分包方式,以及从RTP包里面得到H.264数据和AAC数据的方法
- numpy中以文本的方式存储以及读取数据方法
- struts同时使用属性注入和模型驱动注入数据注入失败原因分析及解决方法
- DMA方式的数据传送过程
- 《第一行代码》第二版 学习总结 (数据持久化附加,其他方式参考12-15) 操作SDcard数据
- JAVA基本数据类型与其他语言数据类型之间的转换方法
- JSP页面加载时同时访问action获取数据( struts标签s:action方法)
- datalist 的用法。也是增删改查,但是比较智能。用数据绑定的方式,可以有不同的显示方法,下面是对一个表的增删改查的参考代码
- EasyUI queryParams属性 在请求远程数据同时给action方法传参