加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – MVP模式和会话值

发布时间:2020-12-16 06:24:51 所属栏目:asp.Net 来源:网络整理
导读:我有一个关于ASP.NET MVP模式的问题.演示者可以了解会话值吗?如果我开始使用会话值,我不知道如何模拟或测试会话,以及如果我使用相同的演示者为Win表单,该怎么办.这是正确的,如果是这样,我在处理会话值方面有什么选择. 解决方法 Presenter不应该知道Session
我有一个关于ASP.NET MVP模式的问题.演示者可以了解会话值吗?如果我开始使用会话值,我不知道如何模拟或测试会话,以及如果我使用相同的演示者为Win表单,该怎么办.这是正确的,如果是这样,我在处理会话值方面有什么选择.

解决方法

Presenter不应该知道Session对象(或System.Web中的任何其他内容),但如果您通过视图公开会话数据,它可以知道这些值.

使用MVP,您可以看到如下视图:

public interface IViewCustomerView
{
    ShoppingCartModel ShoppingCart {get;set}
}

在您的Web表单实现视图中,ShoppingCart来自会话.

public partial class ViewCustomers : Page,IViewCustomerView

ShoppingCartModel ShoppingCart 
{
    // add null/cast checks etc. here
    get { return (ShoppingCartModel) Session["Cart"]; } 
    set { Session["Cart"] = value; }
}

在您的Web表单和模拟实现中,它可以来自其他地方.然后在演示者中,当您访问购物车时,它不知道它来自会话:

IViewCustomerView _view;

_view.ShoppingCart...

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读