我通过操作链接将视图页面中的对象的通用列表传递给操作方法。动作链接看起来像这样
@Html.ActionLink("Click here", "Foo", new { a = Model.A })
动作方法签名是
public ActionResult Foo(List<foo> a)
问题在于,当我在调试器中运行此代码时,我可以清楚地看到视图中此List中有两个元素,但是当执行到达action方法时,列表中没有元素。为什么会这样?
有人建议我“发布到ActionResult”。这是什么意思?如果是解决方案那么好。
答案 0 :(得分:0)
你可以尝试这个,它会将元素传递给?a [0] = foo&amp; a [1] = bar&amp; 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);