Jquery MVC控制器未获取正确的参数值

Jquery MVC控制器未获取正确的参数值,jquery,asp.net-mvc,asp.net-mvc-4,Jquery,Asp.net Mvc,Asp.net Mvc 4,MVC绑定或其他方面有问题。在我的操作方法中,id参数始终为3。我甚至重新启动以确保没有缓存某些内容。希望我错过了一些简单的事情。(我不能发布调试会话的映像,因为我没有信誉点。)任何帮助都会很好 我的控制器代码: [HttpGet] public JsonResult GetSampleData(int id) { return new JsonResult { Data = new List<string>{"some", "data", },

MVC绑定或其他方面有问题。在我的操作方法中,id参数始终为3。我甚至重新启动以确保没有缓存某些内容。希望我错过了一些简单的事情。(我不能发布调试会话的映像,因为我没有信誉点。)任何帮助都会很好

我的控制器代码:

[HttpGet]
public JsonResult GetSampleData(int id)
{
   return new JsonResult 
   { 
      Data = new List<string>{"some", "data", },
      JsonRequestBehavior = JsonRequestBehavior.AllowGet 
   };
}

尝试在ajax调用中更改url

$.ajax{
    url: '@Url.Action("GetSampleData", "Controller", new { id = "----" })".replace("----", 50),
    type...

我不确定3是从哪里来的,默认情况下id是路由的一部分。在我们的链接中,我们有GetSampleData/50,而不是一个查询参数。你是如何创建链接的?Matt,我添加了生成链接的jQuery代码。你在哪里调用这个
$.ajax
函数?它是否在某个锚定或提交按钮的
事件中?或者在某种形式的
.submit
事件中?当我只有/50而不是/?id=50时,它确实会起作用。所以现在的问题是,将它放入GetSampleData/50的语法是什么?如果我只有数据:50 fiddler显示的所有数据都是GetSampleData/Hi Matt,我是从另一个项目/解决方案调用的,这只是一个html页面。好的,如果我不得不猜测,因为您使用的是id,它与路由冲突。尝试在视图和控制器上将id变量更改为GetSampleID
$.ajax{
    url: '@Url.Action("GetSampleData", "Controller", new { id = "----" })".replace("----", 50),
    type...