我有一個動作方法設置:模型綁定所選項目的一個IList只有
public ActionResult Delete(IList<Product> products)
和產品在我看來,一個表。我有模型綁定工作,以便提交我可以填充products
列表。但是我想僅填充通過複選框選擇的產品。
我想我可以通過改變操作方法,以該做的:
public ActionResult Delete(IList<Product> products, IList<int> toDelete)
和傳球複選框列表到toDelete
,但我真的想避免可能的話改變方法簽名。
有沒有辦法只通過選定的項目?或者我將不得不編寫一個定製的ModelBinder?
這並不是說我*不能*觸摸簽名,這是我不想要的。如果您閱讀了一種說法:刪除(IList產品),您立即知道它會刪除該列表中的產品。稍微向後讀一下'Delete(IList products,int [] toDelete)'或類似的東西。 雖然我可能會玩你的第二個建議,歡呼聲。 –
jeef3
2009-10-04 09:59:56
經過深思熟慮,我最終改變了方法簽名以添加一個白名單。我開始製作一個定製的模型綁定器,但這需要花費很長時間,我真的需要從這個方面繼續努力。如果我有時間,我可以再次查看自定義模型聯編程序。 – jeef3 2009-10-04 23:28:19