在 ASP.NET Core MVC 中,可以通过使用 HiddenFor 帮助程序将隐藏表单字段添加到 Edit 视图中,但是在某些情况下,HiddenFor 可能不适用。例如,当您需要使用自定义命名约定或使用非模型属性时,无法使用 HiddenFor。
在这种情况下,您可以考虑使用 InputTagHelper 帮助程序的 asp-for 和 type 属性来创建隐藏的表单字段。下面是一个示例代码片段:
在这个例子中,我们使用了 input 标签的 type 属性来指定隐藏表单字段。同时,我们使用了 asp-for 属性来将表单字段与视图模型的属性绑定起来,这样在提交表单时,这个表单字段的值就会被正确地绑定到模型的属性。
需要注意的是,如果使用了自定义命名约定或非模型属性,那么可能需要修改 asp-for 属性的值。例如,如果你有一个名为 "MyCustomId" 的属性,那么 asp-for 的值应该是 "MyCustomId",而不是 "Id"。
最后,我们需要在接受 POST 请求的方法中,从请求中获取这个隐藏的表单字段的值,并将它与模型的 Id 属性进行绑定。这