我有一个控制器post动作,它有两个参数,我想使用第一个使用TryUpdateModelAsync更新数据库(第二个是渲染参数)。
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Edit(Amendment amendment, string format)
{
var amendmentToUpdate = await _context.Amendments
.SingleOrDefaultAsync(a => a.Id == amendment.Id);
if (ModelState.IsValid)
{
try
{
await TryUpdateModelAsync<Amendment>(
amendmentToUpdate,
"",
a => a.Title, a => a.Date);
await _context.SaveChangesAsync();
...
似乎TryUpdateModelAsync找到控制器上下文并自动更新这些字段,但由于我传入了两个参数,因此它不知道它应该从amendment
获取这些参数。有没有办法将“源对象”传递给TryUpdateModelAsync
?