У меня возникли проблемы с созданием программы ASP.NET MVC
, которая будет случайным образом выбирать ученика и случайным образом выбирать вопрос, и по какой-то причине я не могу заставить его работать в файле .cshtml. Я делаю что-то неправильно? Кроме того, я получаю эту ошибкуASP.Net MVC random, Controllers и views
«Модель элемент передается в словарь типа„QuizProgramMVC.Models.Student“, но этот словарь требует модель элемента типа„QuizProgramMVC.Models.StudentQuestion“.» `Используя QuizProgramMVC.Models;
Контроллер
public class QuizController : Controller
{
public QuizController TheQuiz { get; set; }
// GET: Quiz
public ActionResult Index()
{
StudentQuestion sq = new StudentQuestion();
return View(sq);
}
public ActionResult QuizProgram()
{
Student program = new Student();
return View(program);
}
}
Посмотреть
@model QuizProgramMVC.Models.StudentQuestion
@using QuizProgramMVC.Models;
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>QuizProgram</title>
</head>
<body>
<div>
<h1>Quiz Program</h1>
<div class="row">
<div class="col-md-6">
<table class="table table-condensed">
<thead>
<tr>
<th>Question</th>
<th>Answer</th>
</tr>
</thead>
<tbody>
@foreach (Question q in Model.Questions)
{
<tr>
<td>
@q.Quest
</td>
<td>
@q.Answer
</td>
</tr>
}
</tbody>
</table>
</div>
</div>
<br/>
<div class="row">
<div class="col-md-6">
<table class="table table-condensed">
<thead>
<tr>
<th>First Name</th>
<th>Last Name</th>
</tr>
</thead>
<tbody>
@foreach (Student s in Model.Students)
{
<tr>
<td>
@s.FirstName
</td>
<td>
@s.LastName
</td>
</tr>
}
</tbody>
</table>
</div>
</div>
<br/>
@using (Html.BeginForm())
{
<div>
Type Answer: <input id="param1" name="param1" type="text" />
<br />
<input type="submit" value="Submit" />
</div>
}
</div>
</body>
</html>
Не является ли сообщение об ошибке очевидным? Вы передаете другой тип своего действия, чем ожидалось. Вместо объекта «Студент» вам нужно передать объект «StudentQuestion», потому что ваше представление строго типизировано для него. – Shyju