これは私のモデルです
public class AdministrationModel
{
public string FirstName { get; set; }
public string LastName { get; set; }
public string EmailAddress { get; set; }
public bool IsApproved { get; set; }
}
これは私のコントローラーです
public ActionResult GetTabContent(string id)
{
switch (id)
{
case "tab3":
model = GetAllUsersInfo();
viewName = "Administration";
break;
}
return View(viewName);
}
private List<AdministrationModel> GetAllUsersInfo()
{
List<AdministrationModel> userList = new List<AdministrationModel>();
foreach (MembershipUser user in Membership.GetAllUsers())
{
UserProfile userProfile = UserProfile.GetUserProfile(user.UserName);
userList.Add(new AdministrationModel { EmailAddress = user.Email, IsApproved = user.IsApproved, FirstName = userProfile.FirstName, LastName = userProfile.LastName });
}
return userList;
}
これは私の見解です
@model List<AdminContainerModel>
@using (Html.BeginForm("Administration", "Account"))
{
<fieldset>
<div>
@foreach (AdministrationModel AM in Model)
{
<div>
<div class="colFull">@Html.DisplayFor(modelItem => AM.FirstName)</div>
<div class="colFull">@Html.DisplayFor(modelItem => AM.LastName)</div>
<div class="colFull">@Html.DisplayFor(modelItem => AM.EmailAddress)</div>
<div class="colPartial"><input type="checkbox" checked="@AM.IsApproved"/> </div>
<div class="clear"></div>
</div>
}
</div>
<input type="submit" value="Update Account" />
</fieldset>
}
ユーザーが[アカウントの更新]ボタンをクリックすると、コントローラーに移動します
[HttpPost]
public ActionResult Administration(List<AdministrationModel> model)
{
return View();
}
このメソッド内では、モデルは常にnullです。ただし、すべてをレンダリングするビューは完璧で、表示したいものを表示します。私は何が間違っているのですか?