将字符串值从视图传递到控制器,仅发送null

时间:2013-03-24 18:22:49

标签: jquery ajax asp.net-mvc model-view-controller

我想向控制器发送一些数据,但我总是在控制器的参数中得到空值。我寻求解决方案,但没有达成解决方案。请提供一些建议或帮助。

ajax call

 var submittedName = 1; 
 $.ajax(
  {
      url: '/api/monitor/Detailsfetch',
      type: "post",
      data: { 'submittedName': submittedName},
      success: function (data) {
          alert("passed");
      },
      error: function (xhr, ajaxOptions, thrownError) {
               alert(thrownError);}
  });

控制器部分

  [System.Web.Http.HttpPost]
  public ContentResult Detailsfetch(string submittedName)        
    {sone code here}`

2 个答案:

答案 0 :(得分:1)

从评论和你提供的一些小信息我猜你的路线设置不正确。如果要测试此(假设您没有更改默认规则)。尝试将参数重命名为id(在控制器和JS中)。如果可行则那是因为您的路线未配置

在这种情况下,请参阅this寻求帮助

基本上你应该在application_start

中有这样的东西
RouteTable.Routes.Add(new Route {
    Url = "[controller]/[action]/[submittedName]",
    RouteHandler = typeof(MvcRouteHandler)
})

答案 1 :(得分:0)

在这种情况下无法使用数据发送参数值:{'submittedName':submittedName}所以另一种方法是在URL本身传递参数数据

/api/monitor/Detailsfetch/?submittedName="+somename+"",

希望这可以帮助一些人!