无法获得输入参数到控制器,Ajax.ActionLink

时间:2013-02-12 16:16:03

标签: c# asp.net-mvc asp.net-ajax

我在将数据传递给MVC3中的控制器时遇到问题

我有一个看起来像这样的视图

@Ajax.ActionLink("MyController", "Myfunction", new {id =item.data},  
     new AjaxOptions
                    {
                      UpdateTargetId = "myDiv",
                      InsertionMode = InsertionMode.Replace,
                     })

<div id="myDiv"> </div>

一个看起来像这样的控制器

       public ActionResult Myfunction(string data)
       {
              //some code
              return PartialView(chart);
       }

这一切都有效但数据不会进入控制器(当我设置断点时它为空),当我将鼠标悬停在链接上时,我会看到地址字段中的数据。我是否必须在路由表中进行一些调整?

赞赏任何意见。

1 个答案:

答案 0 :(得分:4)

  

这一切都有效,但数据不会进入控制器(它的空值   当我设置断点时)


更改此行:

@Ajax.ActionLink("MyController", "Myfunction", new {id=item.data},

是:

@Ajax.ActionLink("MyController", "Myfunction", new {data =item.data},

POST中声明的变量名称需要与服务器捕获的变量名称相匹配,换句话说,您的Controller Action method期望参数data并且过期id