1

我通过操作链接将对象的通用列表从视图页面传递给操作方法。操作链接如下所示

@Html.ActionLink("Click here", "Foo", new { a = Model.A }) 

动作方法签名是

public ActionResult Foo(List<foo> a)

问题是当我在调试器中运行这段代码时,我可以清楚地看到视图中的这个 List 中有两个元素,但是当执行到 action 方法时,列表中没有任何元素。为什么会这样?

有人建议我“发布到 ActionResult”。这是什么意思?如果这是解决方案,那就太好了。

4

1 回答 1

0

你可以试试这个,它将元素传递为 ?a[0]=foo&a[1]=bar&a[2]=hello

@{
    var dict = new RouteValueDictionary();
    for (int i = 0; i < Model.A.Count; i++)
    {
        dict.Add("a[" + i + "]", Model.A[i]);
    }
}
@Html.ActionLink("Click here", "Foo", dict);
于 2012-05-04T17:53:36.183 回答