MVC模型对象失去价值

时间:2015-02-04 08:56:53

标签: asp.net-mvc-4

好吧......我被难倒了

    public ActionResult addSite(SiteViewModel aModel)
    {
        if (ModelState.IsValid)
        {
            siteID = Guid.NewGuid().ToString();
            aModel.siteId = siteID;

            AddSite2Azure();

            return RedirectToAction("manageProfile", "User");
        }
        else { return View(aModel); }
    }


    private void AddSite2Azure()
    {
        EmPmSiteEntity aSite = aEnty.AssetRegistry.CreateSite(new EmPmSiteEntity()
        {
            UserId = aUserId,
            Id = aModel.siteId,
            Name = aModel.siteName,
            ZipCode = aModel.siteZip,
        });
    }

调试时,aModel.siteID在actionResult末尾有一个guid。但是当我们进入下一个方法时,aModel.siteID的值是“null”

1 个答案:

答案 0 :(得分:1)

好像你有aModel的两个范围 - 一个在类级别(未在代码中显示),一个在方法级别(作为参数传递给addSite(...))。

您在addSite()中设置方法级变量的值。要在AddSite2Azure()中使用此值,请将方法级aModel传递给AddSite2Azure(),或使用{{在aModel中设置类级别addSite() 1}}。