1 session
2 get
like "1,2,3,5,4,8,321,45"
2 get
like "1,2,3,5,4,8,321,45"
解决方案 »
- 怎样导出正确的EXCEl 格式, 导出来的格式还可以导入的格式 。代码
- 请教一个调用方法中返回值的问题。
- RegularExpressionValidator 这个验证 只能是数字的才能输入 不允许有汉字或者字符输入。应该怎么写呢?
- 如何把id号转为字符串呢
- 如何实现类似ToolTip的悬浮div显示数据库记录
- 关于PostBack和控件的Attribute.Add的问题...
- 请教:在B/S里怎样定义一个在一个页面里使用的局部变量
- null和""有什么区别呀?
- 第二次发这个问题的贴了,就剩一点小问题了,有答案两贴马上结啊!高手们过来帮帮忙吧!关于限定上传图片数量的问题!!!!
- 在线等!我不小心将帮助文档损坏了现在用帮助中的“目录”等一点就让我重装帮助!我现在有7张光盘用哪张才能装的上帮助?
- 在GridView中点下载就把二进制文件下载到本地电脑
- 问题请教....急
我们知道,Asp.net在不同页面间传递对象的时候可以用Session来实现。现在我想介绍另外一种方法来达到目的。 主要思路:我们需要两个页面,一个Sender.aspx负责发送所需传递的对象,一个Receiver.aspx负责接受send过来的对象。Sender.aspx主要是运用了Server.Transfer来终止当前页面的执行,并开始调入Receiver.aspx来取出对象。具体实现:ITransfer.cs
namespace Sunrise.Sample.FormTransfer
{
/// <summary>
/// 此接口定义了一个返回所需传递对象的属性
/// 发送对象的页面必须实现此接口
/// </summary>
public interface ITransfer
{
MyClass MyObject
{
get;
set;
}
}
}
MyClass.cs
namespace Sunrise.Sample.FormTransfer
{
/// <summary>
/// 一个用来演示的简单类
/// </summary>
public class MyClass
{
private string _strMessage; public MyClass()
{
} public string Message
{
get
{
return this._strMessage;
}
set
{
this._strMessage = value;
}
} }
}
后台代码文件Receiver.aspx.csnamespace Sunrise.Sample.FormTransfer
{
/// <summary>
/// 接收对象的页面
/// </summary>
public class Receiver : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
ITransfer mySender; if(!IsPostBack)
{
//判断当前页面的HttpHandler,如果实现了ITransfer接口
//就转换成ITransfer
if(Context.Handler is ITransfer)
{
mySender = (ITransfer)Context.Handler; Response.Write(mySender.MyObject.Message);
}
else
{
Response.Redirect("Sender.aspx");
}
}
}
.
.
.
}
}
后台代码文件Sender.aspx.csnamespace Sunrise.Sample.FormTransfer
{
/// <summary>
/// 发送对象的页面
/// </summary>
public class Sender : System.Web.UI.Page, ITransfer //继承ITransfer
{
protected System.Web.UI.WebControls.Button btnSend;
private MyClass _objMyObject; private void Page_Load(object sender, System.EventArgs e)
{
_objMyObject = new MyClass();
} //实现ITransfer接口
public MyClass MyObject
{
get
{
return this._objMyObject;
}
set
{
this._objMyObject = value;
}
} /// <summary>
/// 响应按钮事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnSend_Click(object sender, System.EventArgs e)
{
this.MyObject.Message = "test"; //调用Server.Transfer(),转向执行Receiver.aspx
Server.Transfer("Receiver.aspx");
}
.
.
.
}
}
编译通过后,执行Sender.aspx,单击btnSend按钮,就可以看到执行结果了:Receiver.aspx页面拿到了MyObject对象,并且在页面上显示出MyObject.Message的值为“test”;
string[] x=new string[5];
x[0]=..;
x[1]=..;
;;;;;;;;
x[4]=..;Session["X"]=x;
B.aspx中:string[] y=(string[])Session["X"];
TextBox1.Text=y[0];
TextBox2.Text=y[1];
;;;;;;;;;;;;;;;;;;;
则这里的数组 y与 A.aspx中的数组x 是一样的结构和内容
----------Default.aspx-----------
public partial class _Default : System.Web.UI.Page
{
public int[] array ={ 1, 2, 3, 4 };
protected void Page_Load(object sender, EventArgs e)
{ }
protected void Button1_Click(object sender, EventArgs e) { Server.Transfer("default2.aspx");
}
}----------Default2.aspx-----------
public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack) {
_Default default1=(_Default)Context.Handler;
int[] array = default1.array;
string paras = "";
if (array != null) {
for (int i = 0; i < array.Length; i++) {
paras += array[i].ToString() + ",";
}
}
Response.Write(paras);
}
}
}