对象实例化 - mvc同时连接

时间:2013-11-17 09:33:57

标签: asp.net-mvc object

这是一个非常基本的问题,但只是希望了解服务器如何与连接到它的浏览器/计算机进行交互。

当用户点击Create()动作时,它会将Currentclaim对象发送到视图。因为_currentclaim变量为null,所以它会创建一个具有某些属性的新对象。如果我加载另一个浏览器(IE,Safari)并使用该应用程序它不是一个'新的开始',因为_currentclaim保留了在其他浏览器中给它的属性。

  public class ClaimsController : Controller
    {

        private static ClaimViewModel _currentclaim;
        private static ClaimViewModel Currentclaim
        {
            get
            {//If _currentclaim is null then create it. Return it.
                if (_currentclaim == null)
                    _currentclaim = GetClaimViewModel();
                return _currentclaim;
            }
            set//set value of Currentclaim. 
            {
                _currentclaim = value;
            }
        }

        public static ClaimViewModel GetClaimViewModel()
        {
            return new ClaimViewModel()
            {
                ClaimID = 101,
                SubmissionUserID = 10,
                DateSubmitted = DateTime.Now,

                LineViewModels = new List<LineViewModel>() {
                    new LineViewModel() {MeetingDate=DateTime.Now,SubCatID=1},
                }
            };
        }

        public ActionResult Create()
        {
            return View(Currentclaim);
        }

        [HttpPost]
        public ActionResult Create(ClaimViewModel claimvm)
        {   claimvm.SubmissionUserID = Currentclaim.SubmissionUserID;
            claimvm.DateSubmitted = Currentclaim.DateSubmitted;
            _currentclaim = claimvm;
            return View("Summary", Currentclaim);
        }


    }

我只想再次确保当用户从托管的任何地方连接到我的Web应用程序时,他或她的会话将以空对象开始(而不是由其他人实例化的......如果这是有意义的话)

0 个答案:

没有答案