2010-12-19 17 views
0

我試圖從FormCollection模型的兩個不同集合更新模型。 IT只是第一次運作。以下是示例代碼:ASP.NET MVC3 RC2不更新模型第二次

 public ActionResult Edit(int id, FormCollection form) 
    { 
     Order ord = pr.GetOrder(id); 
     TryUpdateModel<Order>(ord, form.ToValueProvider()); 

     IEnumerable<OrderItem> items = new List<OrderItem>(); 
     IEnumerable<OrderPayment> pmts = new List<OrderPayment>(); 
     /* 1. */ TryUpdateModel<IEnumerable<OrderItem>>(items, "oitm", form.ToValueProvider()); 
     /* 2. */ TryUpdateModel<IEnumerable<OrderPayment>>(pmts, "opmt", form.ToValueProvider()); 
     //Save the model 
     return PartialView("IndexItem", inv); 
    } 

它爲Order和items填充模型,但不從formcollection更新pmts集合。我檢查了表單集合,它具有opmt前綴的所有屬性。如果我在1和2之間切換TryUpdateModel,那麼它會成功更新pmts,而不是項目。 我的假設如下:

  1. 這可能是與一個集合上的多個TryUpdateModel有關。
  2. 一旦我得到的ModelState錯誤,那麼它不會嘗試以下更新來更新模型

我在做什麼錯在這裏???

此代碼和模型正在爲MVC2工作!

謝謝

回答

0

太棒了!

RTM版本的MVC3已經解決了這個問題。所以看起來像是bug,但沒有人承認它。反正它的固定。

很好的版本,感謝MVC團隊。