Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将数据从Javascript发送回控制器操作_Javascript_Asp.net Mvc - Fatal编程技术网

如何将数据从Javascript发送回控制器操作

如何将数据从Javascript发送回控制器操作,javascript,asp.net-mvc,Javascript,Asp.net Mvc,我有一个模式对话框,点击页面中的链接就会打开。现在我需要从js向控制器发送一些值。但我不能使用表单,从中我可以将这些值提交回控制器。有没有其他方法可以做到这一点,或者我说的是疯了???数据通过URL返回。更新路由以识别参数,并构建与之匹配的URL 路由类似于{controller}/{action}/{id}/{parameter1}/{parameter2}/ 还可以创建catchall参数,如 路由类似于{controller}/{action}/{id}/{*parameters}/ 然后

我有一个模式对话框,点击页面中的链接就会打开。现在我需要从js向控制器发送一些值。但我不能使用表单,从中我可以将这些值提交回控制器。有没有其他方法可以做到这一点,或者我说的是疯了???

数据通过URL返回。更新路由以识别参数,并构建与之匹配的URL

路由类似于{controller}/{action}/{id}/{parameter1}/{parameter2}/

还可以创建catchall参数,如

路由类似于{controller}/{action}/{id}/{*parameters}/

然后构建一个URL,如 yoursite.com/Accounts/DIsplay/Fred/june/july 参数将是6月/7月,您可以在URL上建立该参数


检查我的语法以确保,因为我在吃早餐时这样做。:)

您可以将这些方法用作不退款不退货的解释,但您可以构建自己的类来传回,而不是传回大量参数

例如,如果你要传回一份工作的详细信息,你可以有一个名为job的类,包含工资、小时数、职称、部门等参数

public class Job
{
  public float Salary {get; set;}
  public float Hours {get; set;}
  public string Title {get; set;}
  public string Department {get; set;}
}
然后,您可以创建一个控制器方法,该方法接收Job类型的对象

public ActionResult DoSomething(Job theJob)
{}
然后在javascript中,您可以构建一个JSON对象,其中包含键值对。键是参数的名称

var data = {
  Salary: 400,
  Hours: 40,
  Title: 'Developer',
  Department: 'I.T.'
};

然后可以将此对象传递给控制器方法,值将映射到作业对象,然后可以在控制器方法中使用该对象。

使用JQuery,可以使用:

美元 美元邮政 $.ajax

并将数据发布回服务器。这一切对用户来说都是异步发生的。查看jquery.com了解如何使用,它非常简单。使用URL,它将知道要获取或发布数据的控制器/操作;它工作得很好

Get使用URL将数据传递回服务器,而post使用表单并将表单字段提交给服务器。因此,这取决于您希望如何传递数据。使用Html.BeginForm和Html.EndForm定义表单,表单中的值将发布到服务器,通过指定FormCollection集合作为操作方法参数,或指定方法名称与对象属性本身相同的对象类型,可以检索所有值,或者它也会将这些值传递给变量。不管是get还是post操作,它都会进行名称匹配来完成所有这一切

因此,这可以在MVC中通过回发或异步使用JQuery来完成