MVC - 如何在 LINQ 查询中引用 "this.ID"?
MVC - how to reference "this.ID" in LINQ query?
在我的控制器中,我有一个更新字段的简单方法。我希望它更新 current 记录的字段。类似于:
public IActionResult Approve()
{
ThisForm update = (from p in _context.ThisForm where p.ThisFormID == [**what do I put here?**] select p).SingleOrDefault();
update.ApprovalStatus = 'Approved';
_context.SaveChanges();
return RedirectToAction("Index");
}
这将是非常简单的事情,但我不知道如何引用此表单的 ID。我已经在我的控制器中定义了该方法,并且在我的视图中将该方法指定为表单中的 asp-action:
<form asp-action="Approve">
<input type="submit" value="Approve" class="btn btn-outline-success" />
</form>
假设该字段名为“ThisFormID”。
您必须将 ThisFormID
作为参数传递给操作 Approve()
,因此它看起来像这样 Approve(int formId)
,我假设您可以访问此 ThisFormID
当你调用这个动作时。
这取决于 'how' 您正在调用操作 Approve
编辑:
您在提交表单时没有传递任何数据。
您的模型(或更确切的视图模型)应该如下所示:
class FormModel { public int ThisFormID {get;set;} }
(或者您可以将此 ThisFormID
作为视图模型)
您的视图应如下所示:
@model FormModel
<form asp-action="Approve">
<input asp-for="ThisFormId" type="hidden" />
<input type="submit" value="Approve" class="btn btn-outline-success" />
</form>
那么您的操作可能如下所示:
public IActionResult Approve(FormModel formModel)
{
ThisForm update = (from p in _context.ThisForm where p.ThisFormID == formModel.ThisFormID select p).SingleOrDefault();
update.ApprovalStatus = 'Approved';
_context.SaveChanges();
return RedirectToAction("Index");
}
您可以在此处查找更多示例:
或者 google 如何提交带有参数的表单
在我的控制器中,我有一个更新字段的简单方法。我希望它更新 current 记录的字段。类似于:
public IActionResult Approve()
{
ThisForm update = (from p in _context.ThisForm where p.ThisFormID == [**what do I put here?**] select p).SingleOrDefault();
update.ApprovalStatus = 'Approved';
_context.SaveChanges();
return RedirectToAction("Index");
}
这将是非常简单的事情,但我不知道如何引用此表单的 ID。我已经在我的控制器中定义了该方法,并且在我的视图中将该方法指定为表单中的 asp-action:
<form asp-action="Approve">
<input type="submit" value="Approve" class="btn btn-outline-success" />
</form>
假设该字段名为“ThisFormID”。
您必须将 ThisFormID
作为参数传递给操作 Approve()
,因此它看起来像这样 Approve(int formId)
,我假设您可以访问此 ThisFormID
当你调用这个动作时。
这取决于 'how' 您正在调用操作 Approve
编辑:
您在提交表单时没有传递任何数据。 您的模型(或更确切的视图模型)应该如下所示:
class FormModel { public int ThisFormID {get;set;} }
(或者您可以将此 ThisFormID
作为视图模型)
您的视图应如下所示:
@model FormModel
<form asp-action="Approve">
<input asp-for="ThisFormId" type="hidden" />
<input type="submit" value="Approve" class="btn btn-outline-success" />
</form>
那么您的操作可能如下所示:
public IActionResult Approve(FormModel formModel)
{
ThisForm update = (from p in _context.ThisForm where p.ThisFormID == formModel.ThisFormID select p).SingleOrDefault();
update.ApprovalStatus = 'Approved';
_context.SaveChanges();
return RedirectToAction("Index");
}
您可以在此处查找更多示例:
或者 google 如何提交带有参数的表单