对象未被分配。

时间:2017-10-30 01:42:34

标签: c# asp.net-mvc

我正在使用asp.net MVC项目并在我的视图模型中使用以下代码

public Division ToDivision()
        {
            Division d = new Division();
            Name = this.Name;
            Active = this.Active;
            return d;
        }

然后,在我的控制器中,我有以下方法:

public ActionResult Create(DivisionViewModel divisionViewModel)
        {
            if (ModelState.IsValid)
            {
                Division division;
                division = divisionViewModel.ToDivision();
                _divisionService.Create(division);
                return RedirectToAction("Index");
            }

            return View(divisionViewModel);
        }

分部未被分配。为什么是这样?我觉得这很简单,我只是没有看到

2 个答案:

答案 0 :(得分:4)

在您的函数ToDivision中,Name = this.Name不会执行任何操作,因为它们的值相同。你需要做d.Name = this.Name。同样适用于Active。尝试:

public Division ToDivision()
{
    Division d = new Division();
    d.Name = this.Name;
    d.Active = this.Active;
    return d;
}

答案 1 :(得分:3)

在您的代码示例中,您似乎希望在具有属性成员分配的方法中使用对象初始化,但是将其分配给Name成员而不是d.Name。尝试使用以下初始化程序:

public Division ToDivision()
{
    Division d = new Division()
    {
        Name = this.Name;
        Active = this.Active;
    }
    return d;
}