MVC4将所有表单数据(模型)从javascript传递到控制器 - 这是可能的
MVC4 passing all form data (model) from javascript to controller -- is it possible?
回复
MVC3 使用 JavaScript 将模型视图传递给控制器
这意味着这是不可能的,至少对于 MVC 3 来说是这样。
我想知道 MVC 4 中是否有任何方法可以将整个表单内容(由模型表示)从 .cshtml(剃刀)视图快速传递到 JavaScript 中的控制器。
例如,如果我选择一个下拉列表,我可能希望将窗体中的所有字段返回到控制器,控制器将采取适当的操作。
显然,对于大型形式,不希望必须逐个元素地执行此操作
基本上,你可以调用 AJAX POST 来做到这一点:
JS(使用 jQuery):
$('form').on('submit', function (event) {
// Stop the default submission
event.preventDefault();
// Serialize (JSON) the form's contents and post it to your action
$.post('YourAction', $(this).serialize(), function (data) {
// If you want to do something after the post
});
});
控制器操作:
public ActionResult YourAction(string JSONmodel)
{
System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
MyModel model = serializer.Deserialize(JSONmodel, typeof(MyModel));
// Now you can do whatever you want with your model
}
更新
对于更复杂的对象,可以使用第三部分解决方案进行序列化/反序列化。它有很好的文档记录并扩大了使用范围:
Json.NET:http://json.codeplex.com/
是的,以更简单的方式是可能的。
-
MelanciUK提供的示例的替代。
$('form').on('submit', function (event) { // Stop the default submission event.preventDefault(); // User same property name as in Model $.post('YourAction', {prop1 : 'a', prop2 : 'b'}, function (data) { // If you want to do something after the post });
});
[HttpPost] public ActionResult SampleAction(SampleModel sModel) { }
您可以通过stadard MVC(ModelBinding)约定实现相同的目标,即无需序列化和反序列化。
相关文章:
- 将Javascript数组发送到控制器ASP.NET MVC
- Javascript/jQuery压缩一个图像正确的评论帖子,并使用Ajax Laravel 5.2保存到控制器中
- 控制器不会进入for循环:javascript
- 使用AJAX POST从javascript到带有Strong参数的Rails4控制器
- cakehp2.x用javascript执行控制器
- AngularJS-需要在控制器更改时清除javascript对象
- 通过指令在控制器中执行javascript函数
- RubyonRails环境控制器操作JavaScript响应
- 来自控制器的javascript日期
- 将数据从Javascript传递到Laravel控制器
- 使用javascript将控制器方法移动到客户端
- 如何使用javascript将Object传递给控制器
- Rails Assets Pipeline从控制器和方法加载JavaScript
- 从Sench Touch 2中的视图调用控制器javascript函数
- 模型视图控制器-javascript mvc框架设计实践,用于编辑就地界面
- 模型视图控制器-Javascript可以构建这种MVC模式或语法糖
- 模型视图控制器 - JavaScript 状态到函数序列处理(MVC,依赖函数)
- 模型视图控制器 - Javascript - Spine MVC - 类
- 模型-视图-控制器- JavaScript在web应用的MVC模式中处于什么位置?
- 模型视图控制器- Javascript MVC语法