Skip to main content
 首页 » 编程设计

c#之无法获取 Controller 的输入参数,Ajax.ActionLink

2024年02月20日36soundcode

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

我有一个看起来像这样的 View

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

还有一个看起来像这样的 Controller

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

一切正常,但数据没有进入 Controller (当我设置断点时它为空),当我将鼠标悬停在链接上时,我在地址字段中看到数据。我必须在路由表中做一些调整吗?

欢迎任何意见。

请您参考如下方法:

It all kinda works but the data dont get into the controller (its null when i set a breakpoint)


改变这一行:

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

成为:

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

在 POST 中声明的变量名称需要与服务器捕获的变量名称相匹配,换句话说,您的 Controller Action 方法 需要一个参数 data 并且它会被传递 id