0
我有一個視圖包含一個通過模型傳遞的用戶列表。我想要做的是爲每個用戶使用一個按鈕,將userId傳遞迴控制器,以便我可以存儲它。類似於一個喜歡/不喜歡按鈕。IEnumerable控制器的Ajax.Beginform爲空
@model IEnumerable<FindaRoom.Models.FilterViewModel>
<h3>List of friends</h3>
<div class="row">
@using (Ajax.BeginForm("Add", "User", null, new AjaxOptions
{
HttpMethod = "POST",
OnSuccess = "SuccessMessage",
OnFailure = "FailMessage",
}, FormMethod.Post))
{
foreach (var user in Model)
{
<div class="col-md-3">
<div class="thumbnail">
<div>
@Html.EditorFor(modelitem => user.FbInfo.UserId)
</div>
<input type="submit" value="Match Me" />
</div>
</div>
}
}
</div>
當我回發user.FbInfo.UserId我在我的控制器變量中得到一個空值。我不知道爲什麼我得到一個空變量,但我認爲它可能需要對我的模型做些什麼?
我只是使用空的控制器,我看到的值始終爲空。
[HttpPost]
public ActionResult Add(FilterViewModel text)
{
return new HttpUnauthorizedResult();
//var user = db.Users.Find(text);
//var curUser = UserManager.FindById(User.Identity.GetUserId());
//curUser.Matches.Add(user);
//db.SaveChanges();
}
我的模型是這樣。
public class FilterViewModel
{
public FbInfo FbInfo { get; set; }
public Questions Questions { get; set; }
}
public class FbInfo
{
public FbInfo()
{
this.friendsList = new List<friends>();
this.mutualFriendsList = new List<mutualFriends>();
}
...
[Key]
[ForeignKey("UserId")]
public ApplicationUser User { get; set; }
...
}
public class Questions
{
[Key]
public int id { get; set; }
[ForeignKey("UserId")]
public ApplicationUser User { get; set; }
public string UserId { get; set; }
}
如果有人有線索會有幫助。我一直堅持這一點,並不能找出爲什麼控制器中的文本值爲空。
是啊,我在想,在Ajax.beginform是沒有這樣做的正確方法。感謝您的快速回復。 –