1

在控制器中我有:

int[] numbers = {1, 2, 3}; 
ViewBag.List = numbers;

然后在视图中我这样做:

@Html.PagedListPager(Model, 
page => Url.Action("Index", new { page, new[] = ViewBag.List  }))

我希望它pagedlistpager产生这样的链接:

/?numbers=1&numbers=2&numbers=3

换句话说,我怎么会

Url.Action("index", new { [] numbers = Viewbag.List})

类似的东西我不知道如何处理语法。

显然该代码是错误的,因为我不能在匿名类型中使用 [] 但也许有人可以帮助我解决类似问题或解决方案以从 viewbag 生成该链接。

我正在使用 ASP.net MVC 4。

4

1 回答 1

4

有点难看,但可能有用:

@Html.PagedListPager(
    Model, 
    page => 
        Url.Action("Index", new { page = page }) + 
        "&" + 
        string.Join(
            "&", 
            ((int[])ViewBag.List).Select(x => "numbers=" + Url.Encode(x.ToString()))
        )
)

作为编写此汤的替代方法,您可以编写自定义 HTML 帮助程序来处理该问题。

于 2014-01-01T17:19:17.077 回答