【发布时间】:2021-02-09 00:35:54
【问题描述】:
所以当我为我的事件模型搭建一个控制器时,它会构建典型的 GET/POST 控制器页面。
似乎变量“event”的每个实例前面都有一个@。如果我尝试删除 @ 它不会将该单词识别为变量(即使单词前面有 var )。我对编码很陌生,我以前从未见过这种情况,这是什么原因造成的?
请看下面的例子:
public async Task<IActionResult> Details(int? id)
{
if (id == null)
{
return NotFound();
}
var @event = await _context.Events
.FirstOrDefaultAsync(m => m.EventId == id);
if (@event == null)
{
return NotFound();
}
return View(@event);
}
public async Task<IActionResult> Create([Bind("EventId,Subject,Description,StartTime,EndTime,Theme,IsFullDay")] Event @event)
{
if (ModelState.IsValid)
{
_context.Add(@event);
await _context.SaveChangesAsync();
return RedirectToAction(nameof(Index));
}
return View(@event);
}
【问题讨论】:
-
你如何搭建你的控制器?
event是一个特殊的名称(与关键字event匹配),因此要使其有效,我们需要在其前面加上@。看看这个stackoverflow.com/questions/254669/…
标签: c# asp.net-core model-view-controller