Asp.net MVC TempData交叉/混合

时间:2015-01-22 19:18:28

标签: asp.net-mvc-3

我使用TempData在控制器之间传递数据。如果两个用户在同一页面上工作,User2将获取User1创建的tempdata值。

您可以在下面找到代码。

你能帮我解决这个问题。

VDRController.cs

 public ActionResult RedirectToCDR(long VslMoveId, long VslVisitId, string VslNm, string ETDDtTmLoc, string statusCd)
    {
        //List<long> vslIds = new List<long>();
        string vslIds = VslMoveId + "," + VslVisitId.ToString() + "," + statusCd;
        TempData["VslMoveDetails"] = vslIds;
        //DateTime MyDateTime;
        //MyDateTime = new DateTime();
        var strdatetime = Convert.ToDateTime(ETDDtTmLoc).ToString("dd-MMM-yyyy");
        TempData["VslNameETD"] = VslNm + "  " + strdatetime;
        //return RedirectToAction("Index","VesselVisit");
        return Json(Url.Action("Index", "CDR"));

    }

CDRController.cs

public ActionResult Index()
    {

        if (TempData["VslMoveDetails"] != null)
        {
            string vslIds = TempData["VslMoveDetails"].ToString();
            string[] Ids = vslIds.Split(new char[] { ',' });
            if (Ids.Length == 3 && Ids[0] != null && Ids[1] != null)
            {
                ViewBag.VslMove_Id = Ids[0];
                ViewBag.VslVisit_Id = Ids[1];
                ViewBag.VisitStatus_Cd = Ids[2];
            }
        }
        return View();
    }

提前感谢。

1 个答案:

答案 0 :(得分:0)

IIS正在缓存您的页面。对于MVC应用程序,您需要将.cshtml添加到不允许缓存的文件扩展名列表中。有关停止缓存的解决方案,请参阅以下链接。 (http://lionsden.co.il/codeden/?p=446