Кажется, что этот вопрос задан и много задан на этом сайте, но я все еще не могу решить проблему. Я получаю элемент модели, переданный в словарь, имеет тип «X», но для этого словаря требуется элемент модели типа «Y», хотя я уверен, что мой код указывает на нужное место и получает правильный viewModel.Почему мой взгляд всегда ожидает 1 конкретную модель просмотра?
View (Index)
@model EveryNationRandburg.ViewModels.AllUsers
@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>Church Members</h2>
<p>@Html.ActionLink("New Member", "Register", "Account", null, new { @class = "btn btn-primary" })</p>
<table class="table table-bordered table-hover" id="kerkmembers">
<thead>
<tr>
<th>Member</th>
<th>Email</th>
<th>Contact Number</th>
</tr>
</thead>
<tbody>
@foreach (var member in Model.AlleKerkMembers)
{
<tr>
<td>@Html.ActionLink(@member.UserName, "Edit", "KerkMember", new {id = @member.Id}, null)</td>
<td>@member.Email</td>
<td>@member.PhoneNumber</td>
</tr>
}
</tbody>
</table>
@section scripts
{
<script>
$(document).ready(function(){
$("#kerkmembers").DataTable();
})
</script>
}
ViewModel
public class AllUsers
{
public List<ApplicationUser> AlleKerkMembers = new List<ApplicationUser>();
}
Контроллер счета
public ActionResult Index()
{
var viewModel = new AllUsers
{
AlleKerkMembers = _context.Users.ToList()
};
return View(viewModel);
}
StackTrace
InvalidOperationException: Модель элемент передается в словарь типа «EveryNationRandburg.ViewModels.AllUsers», но этот словарь требует модель элемента типа «EveryNationRandburg.ViewModels.KonnekGroepViewModel».
Что немного отличается для моей проблемы заключается в том, что всякий раз, когда я пытаюсь отправить ViewModel к виду, я всегда получаю ошибку о том, что не ожидает, что элемент типа «Y» (всегда же один, независимо от того, что модель, которую я заявляю в верхней части моего представления)
В какой строке указывается сообщение об ошибке? Это ** return View (viewModel); ** Вы можете добавить все сообщение об ошибке к описанию проблемы. – KettuJKL
попробуйте очистить решение, перезапустить визуальную студию –
Ошибка очевидна - ваша проходящая модель, которая является «AllUsers», для представления, которое ожидает «KonnekGroepViewModel», но вы не указали соответствующий код (представление, которое имеет «KonnekGroepViewModel» или как вы это называете). Лучше всего предположить, что вы используете '@ Html.Partial()' в главном представлении. –