我有下列行動3項顯示錶單:如何綁定自定義類型的集合(IEnumerable)?
[HttpGet]
public ActionResult ReferAFriend()
{
List<ReferAFriendModel> friends = new List<ReferAFriendModel>();
ReferAFriendModel f1 = new ReferAFriendModel();
ReferAFriendModel f2 = new ReferAFriendModel();
ReferAFriendModel f3 = new ReferAFriendModel();
friends.Add(f1);
friends.Add(f2);
friends.Add(f3);
return View(friends);
}
,然後一個POST操作
[HttpPost]
public ActionResult ReferAFriend(IEnumerable<ReferAFriendModel> friends)
{
if(ModelState.IsValid){
編輯 我的視圖看起來是這樣的:
@model IEnumerable<Models.ReferAFriendModel>
@for(int i=0;i<Model.Count();i++)
{
@Html.Partial("_ReferAFriend", Model.ElementAt(i));
}
部分看起來像這樣:
@model Models.ReferAFriendModel
<p>
@Html.LabelFor(i => i.FullName) @Html.TextBoxFor(i => i.FullName)<br />
@Html.LabelFor(i => i.EmailAddress) @Html.TextBoxFor(i => i.EmailAddress)
@Html.HiddenFor(i=>i.Id)
</p>
當我發佈時,我可以看到這些字段發佈在Request.Form對象中,例如Request.Form [「FullName」]將顯示:「David Beckham」,「Thierry Henry」。 「Chicharito Fergurson」,這是我在表格中輸入的值。 但是,在「發佈」操作中,「朋友」的值始終爲空。 ReferAFriendModel有三個公共屬性Id,EmailAddress和FullName。
我在做什麼錯?
可能出錯了你的表單/視圖。你應該顯示該代碼。 – RPM1984 2011-06-02 09:47:27
[如何將IEnumerable列表傳遞給MVC中的控制器,包括複選框狀態?](http://stackoverflow.com/questions/17037858/how-to-pass-ienumerable-list-to-controller-in-mvc-包括複選框狀態) – abatishchev 2016-08-27 20:13:49