在我的模型替换变量上使用Take方法

时间:2011-10-05 15:16:31

标签: c# asp.net-mvc

基本上我想要一种方法来选择我的

中的数字
foreach(var sheet in Model.Sheets.Take(100))
{
...
}

我希望用户能够指定此值并使用take方法重新加载页面,如何做到这一点?

2 个答案:

答案 0 :(得分:1)

为什么不将参数传递给控制器​​?

public ActionResult Index(int? toTake)
{
    foreach(var sheet in Model.Sheets.Take(toTake != null ? toTake.Value : 100))
    {
    }

    return View();
}

答案 1 :(得分:0)

如果这是在你的视图中,你做错了。

在控制器操作中执行此操作.Take(),并将IEnumerable<T>传递给您的视图。

例如:

public ActionResult Index(int? pageSize)
{
    MyViewModel model = new MyViewModel();

    foreach(var sheet in Model.Sheets.Take(pageSize != null ? pageSize : 20))
    {
        //yada yada yada. Do something here with sheet and model.
    }

    return View(model);
}