2013-01-11 33 views
1

如何提交包含PagedList的表單?MVC4提交分頁列表

型號:

public class PagedClientViewModel 
{ 
    public int? Page { get; set; } 
    public PagedList.PagedList<ClientViewModel> Clients { get; set; } 
} 

public class ClientViewModel 
{ 
    public int ClientId { get; set; } 
    public string Name { get; set; } 
    public bool IsCool { get; set; } 
} 

查看:

@model MvcApplication21.Models.PagedClientViewModel 

@{ 
    ViewBag.Title = "Index"; 
} 



@using (Html.BeginForm("index", "home")) 
    {   
     foreach (var item in Model.Clients) 
     { 
    <div> 
    @Html.HiddenFor(modelItem => item.ClientId) 
    @Html.EditorFor(modelItem => item.Name) 
    @Html.CheckBoxFor(modelItem => item.IsCool) 
    </div>   
     } 

    <input type="submit" value="submit" /> 
    } 

查看:

public ActionResult Index() 
    { 
     List<ClientViewModel> clients = new List<ClientViewModel>(); 

     ClientViewModel client1 = new ClientViewModel 
     { 
      ClientId = 1, 
      Name = "Bob", 
      IsCool = false 
     }; 
     ClientViewModel client2 = new ClientViewModel 
     { 
      ClientId = 2, 
      Name = "John", 
      IsCool = false 
     }; 
     ClientViewModel client3 = new ClientViewModel 
     { 
      ClientId = 3, 
      Name = "Peter", 
      IsCool = true 
     }; 

     clients.Add(client1); 
     clients.Add(client2); 
     clients.Add(client3); 

     PagedClientViewModel model = new PagedClientViewModel 
     { 
      Page = 1, 
      Clients = new PagedList<ClientViewModel>(clients, 1, 10)   
     }; 

     return View(model); 
    } 

    [HttpPost] 
    public void Index(PagedList<ClientViewModel> model) 
    { 
     //how do i process the model here? 
    } 

} 

我得到以下錯誤:

No parameterless constructor defined for this object.

執行此操作的正確方法是什麼?我需要使用編輯器模板嗎?

+0

你什麼時候遇到這個錯誤?當你提交你的表單? –

+0

是的,當點擊提交按鈕 – woggles

回答

0

我認爲錯誤告訴你到底發生了什麼問題。與您的視圖綁定的東西缺少無參數的構造函數。 PagedList也許?

此外,您的動作填充您的視圖是使用不同的模型,然後您的HttpPost方法。 PagedClientViewModel與PagedList。嘗試在構建視圖和提交視圖時使用相同的視圖模型。

+0

得到這個工作是這樣的:http://stackoverflow.com/questions/14258212/mvc-posting-ipagedlist – woggles