У меня есть контроллер, с помощью которого пользователь может добавлять друзей. В ActionMethods в контроллере:Выбор одной записи для отображения на вид
[Authorize]
public ActionResult Add (string id = "")
{
var model = _db.Users
.OrderBy(r => r.UserName)
.Where(r => r.Id == id).ToList()
.Select(r => new FriendsList
{
RequesterID = HttpContext.User.Identity.GetUserId().ToString(),
RequesteeID = id,
UserName = r.UserName,
Status = "NewRequest",
RequestDate = DateTime.Now,
AcknowledgeDate = DateTime.Now
});
return View(model);
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Add (FriendsList friendslist)
{
if (ModelState.IsValid)
{
_friend.Entry(friendslist).State = System.Data.Entity.EntityState.Modified;
_friend.SaveChanges();
return View(friendslist);
}
}
И вид выглядит код:
@model Max.Models.Social.FriendsList
<h2>Add</h2>
<div>
@Model.id = @Model.id;
@Model.RequesteeID = @Model.RequesteeID;
@Model.Status = @Model.Status;
@Model.UserName = @Model.UserName;
@Model.RequesterID = @Model.RequesterID;
<p>Add @Model.UserName ?<input type="submit" value="Add" /></p>
</div>
Я не совсем уверен, как получить данные, переданные от контроллера, чтобы отправлять обратно Добавить. .. но это мое лучшее предположение.
Когда все сказано и сделано, это ошибка я получаю от сервера:
Модель элемент передается в словарь типа «System.Linq.Enumerable + WhereSelectListIterator`2 [ Max.Models.ApplicationUser, Max.Models.Social.FriendsList] ', , но для этого словаря требуется тип модели ' Max.Models.Social.FriendsList '.
Почему я получаю эту ошибку?
Я немного запутался об образце коды friendsList является парами и никогда не использовал? Кроме того, что такое _friend? – Ju66ernaut
Привет Крис, _friend - это класс, полученный из DbContext, который «DBSets» модели FriendsList. И да, это опечатка с моей стороны, параметр не используется. – Michael
Я серьезно сомневаюсь, что вы были исключены из-за «обновления вашего вопроса»; более вероятно, что ваши изменения кардинально изменили смысл вопроса. Однако, принимая позицию, что «все, что я публикую, я никогда не изменю» в ответ, не будет намного лучше. Точка сайта должна обрабатывать высококачественные вопросы и ответы, а не препираться над орфографией и пунктуацией. – Claies