【问题标题】:ASP.NET Core 5.0. Scaffolded controller variable names. C#ASP.NET 核心 5.0。脚手架控制器变量名称。 C#
【发布时间】: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


【解决方案1】:

event是保留字,如果使用,必须在前面加上@。您可以将其更改为其他变量。

这里是所有Keywords

【讨论】:

    猜你喜欢
    • 2018-03-03
    • 2021-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多