首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在表单提交时传递整个模型

在表单提交时传递整个模型
EN

Stack Overflow用户
提问于 2013-03-20 23:05:21
回答 5查看 45.5K关注 0票数 23

我知道我可以使用@Html.HiddenFor(m => m.parameter),当表单提交时,该参数将被传递给控制器。我的模型有很多属性。

有没有一种更短的方法可以一次将整个模型传递给控制器,或者我必须每次一个一个地传递?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-03-20 23:19:53

模型将被完整地传递给控制器,但是没有被输入或隐藏字段绑定的属性的值将会丢失。

您必须在客户端绑定表单中的属性,或者在服务器端重新获取实体。

您似乎在请求像@Html.HiddenFor(m => m.Model)这样的东西,而这是不可能的。抱歉的

有一件事要记住,如果你有大量的隐藏字段,你可能会向视图发送比你真正需要的更多的数据。考虑使用视图模型

票数 27
EN

Stack Overflow用户

发布于 2015-05-15 01:40:11

对于其他看到这一点的人,您可以在隐藏的div中执行@Html.EditorForModel()。您还必须为模型的每个对象属性使用@Html.EditorFor(model => model.ObjectProperty)。

代码语言:javascript
运行
复制
<div hidden="hidden">
  @Html.EditorForModel()
  @Html.EditorFor(model => model.ObjectProperty)
  @Html.EditorFor(model => model.ListOfObjectsProperty)
</div>
票数 3
EN

Stack Overflow用户

发布于 2013-03-20 23:20:14

如果您使用的是表单元素,则会发布整个模型。使用Model的元素显然需要位于form元素内

您也可以通过使用JQuery来发布自己所说的表单

有关这一点,请参阅另一个堆栈问题:jQuery AJAX submit form

仔细看看"Alfrekjv“的anwser

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15527293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档