【发布时间】:2019-11-15 22:46:32
【问题描述】:
我有一个Job 模型和StatusOnHold 模型。
我在Job 模型中添加了导航属性StatusOnHold。
出于某种原因,当我用空的StatusOnHold 保存Job 模型时,我仍然在Job 模型中的StatusOnHoldId 中获得价值。
- 当
StatusOnHold为空时,我试图在Job模型中的StatusOnHoldId中接收NULL 值。 - 当
StatusOnHold不为空时,我尝试获取StatusOnHoldId并将值保存在StatusOnHold模型中(现在它的工作方式就是这样)。
非常感谢。
这是我的模型...
public class StatusOnHoldViewModel
{
public int Id { get; set; }
public string Note { get; set; }
}
public class JobViewModel
{
[Key]
public int Id { get; set; }
public string JobNote { get; set; }
public JobStatus JobStatus { get; set; }
public CompanyViewModel Company { get; set; }
public CustomerViewModel Customer { get; set; }
public StatusOnHoldViewModel StatusOnHold { get; set; }
}
这里是控制器...
public async Task<IActionResult> Create(JobViewModel jobViewModel)
{
if (ModelState.IsValid)
{
var job = _mapper.Map<Job>(jobViewModel);
var newjobId = await _jobRepository.AddAsync(job);
return RedirectToAction("details", new { id = newjobId });
}
return View();
}
这里是视图...
<div class="form-group row">
<label class="col-sm-2 col-form-label"></label>
<div class="col-sm-10">
<div class="m-1">On-Hold</div>
<textarea asp-for="StatusOnHold.Note" style="height:86px; min-height:86px" class="form-control" placeholder="Reason..."></textarea>
<span asp-validation-for="StatusOnHold.Note" class="text-danger"></span>
</div>
</div>
【问题讨论】:
-
I'm still getting value in the StatusOnHoldId in the Job model.你在数据库中得到了什么值? -
在数据库中,我得到,StatusOnHoldId 与 StatusOnHold 中的 Id 相同(这是有道理的)。但我试图传递 NULL。对于 Job 中的 StatusOnHoldId 和 StatusOnHold 中的 Id
标签: asp.net-core model-view-controller