首页
知识
文库
登录
|
注册
首页
最近更新
所有主题
我的主题
我的收藏
首页
·
知识
·
云计算
ASP.NET页面间传递对象的另类方法
佚名
http://www.51blog.net
综合
编辑:
dezai
图片来源:网络
ASP.NET页面间传递对象的另类方法 netspy(原作) 关键字 Asp.net,传递对象 我们知道,Asp.net在不同页面间传递对象的时候可以用Sessi
ASP.NET页面间传递对象的另类方法 netspy(原作)
关键字 Asp.net,传递对象
我们知道,Asp.net在不同页面间传递对象的时候可以用Session来实现。现在我想介绍另外一种方法来达到目的。
主要思路:我们需要两个页面,一个Sender.aspx负责发送所需传递的对象,一个Receiver.aspx负责接受send过来的对象。Sender.aspx主要是运用了Server.Transfer来终止当前页面的执行,并开始调入Receiver.aspx来取出对象。
具体实现:
ITransfer.cs
namespace Sunrise.Sample.FormTransfer
{
///
/// 此接口定义了一个返回所需传递对象的属性
/// 发送对象的页面必须实现此接口
///
public interface ITransfer
{
MyClass MyObject
{
get;
set;
}
}
}
MyClass.cs
namespace Sunrise.Sample.FormTransfer
{
///
/// 一个用来演示的简单类
///
public class MyClass
{
private string _strMessage;
public MyClass()
{
}
public string Message
{
get
{
return this._strMessage;
}
set
{
this._strMessage = value;
}
}
}
}
后台代码文件Receiver.aspx.cs
namespace Sunrise.Sample.FormTransfer
{
///
/// 接收对象的页面
///
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.cs
namespace Sunrise.Sample.FormTransfer
{
///
/// 发送对象的页面
///
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;
}
}
///
/// 响应按钮事件
///
///
///
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”;
需要完整Project源码请联系作者: szumic@hotmail.com
http://sunrise.szu.edu.cn
本文作者:佚名 来源:http://www.51blog.net
CIO之家 www.ciozj.com 微信公众号:imciow
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。
延伸阅读
看透SAAS企业好坏的16个关键指标
SaaS产品的五类核心指标
云业务成本的组成与管理趋势
也许感兴趣的
.
营销增长:如何从0到1设计并搭建你的会员体系?
.
制造企业MES功能架构及实施规划流程
.
如何做好私域运营
.
数据脱敏技术
.
数据中台建设的目标、流程及四大要点
.
数智时代,业财融合分析平台如何重新定义商业智能
.
企业成本管理痛点分析,如何搭建成本管理体系?
我们推荐的
.
SaaS的关键指标有哪些
.
复杂的云原生体系建设
.
微服务架构设计总结实践
.
SaaS 市场体系搭建和企业营销全漏斗改造
.
SaaS企业如何应对疫情
.
中国SaaS发展史:一半是火焰,一半是海水
.
如何定义一家成熟的SaaS公司?
.
这些核心指标影响SaaS公司估值
主题最新
.
一文搞懂微服务架构演进
.
一文详解微服务架构
.
迄今为止最完整的DDD实践
.
全链路压测自动化实践
.
多维度规划业务架构
.
企业架构之业务架构
.
需求管理完整指南
.
软件安全设计原则
.
应用部署初探:微服务的3大部署模式
看看其它的
收藏至微信