从视图返回空值

时间:2018-03-13 18:41:53

标签: asp.net-mvc

我有一个视图模型(IntakeSampleViewModel),其中包含EF6实体(Intake)以及其他属性。这种模式在过去非常有效。在将数据移入或移出数据库时,消除将数据从一个类复制到另一个类。

public IntakeSampleViewModel()
      {
         myIntake = new Intake();
         myRequests = new List<int>();
      }

在这种情况下,它在我创建新的Intake对象时起作用。方法签名看起来像这样。

[HttpPost]
public ActionResult Create(IntakeSampleViewModel inModel)

在这个方法中我有这一行

cldb.Intakes.Add(inModel.myIntake);

一切都很好 除了我想编辑的时候。这是方法签名。

[HttpPost]
public ActionResult Edit(IntakeSampleViewModel inModel)

我尝试做的第一件事就是这个。我收到一条错误,指出myIntake为空。调试时确实是空的。

cldb.Intakes.Attach(inModel.myIntake);

在我的编辑视图页面中,我有这一行。

@Html.HiddenFor(model => model.myIntake)

我在Java脚本中组合了一个小测试以测试null,但它返回false。

TEST = function () {
    var temp = $('#myIntake').val();
    alert(temp === null);
}

所以我相信myIntake在视图页面中不是null,但由于某种原因,它不会被“附加”到提交上的IntakeSampleViewModel。任何人都可以提出尝试吗? 干杯 鲍勃

0 个答案:

没有答案