在ASP.NET MVC 3 Razor中将JavaScript var保存到C#模型中?

use*_*800 2 javascript asp.net-mvc razor asp.net-mvc-3

我是使用MVC 3 ASP.NET的新手,我开始使用Razor视图引擎.我正在使用JavaScript中的API,因此我将此代码放在我的视图中.我也通过实体框架使用数据库,并且我传递了一个包含字符串和整数的简单类的IEnumerable列表作为我的模型.

我可以在视图中替换模型中的项目,根据值重新排序我的反对列表并在我的JavaScript中使用C#模型值,但我无法将JavaScript中计算的值保存回我的视图中,我知道这是因为我的C#代码在服务器上运行,JavaScript在客户端机器上运行.

我想知道将我的IEnumerable列表中的每个项目在JavaScript中计算的值保存到我的C#模型中的最佳方法是什么,这样我就可以在我的视图中根据此值对输出重新排序.

谢谢

Jay*_*ena 5

您可以在视图中设置一组隐藏的输入.然后为它们指定相关名称.您可以根据java脚本中的变量设置值.发布表单时,您可以使用相关隐藏输入的名称获取操作中的所有变量.

或者您可以使用ajax帖子或使用jquery将其发布到您的操作中.http://api.jquery.com/jQuery.post/

$.post("action/Controller",{var1:"1",var2:"2"},function(data){
  //this will execute after the post completed(after the server response)

})
Run Code Online (Sandbox Code Playgroud)