я работаю над проектом mvc. В моем контроллере я вызываю свою хранимую процедуру из класса терминов и возвращаю страницу Index, если она возвращает true, или возвращаю страницу terms, если она возвращает false.
Вызов хранимой процедуры на странице терминов:
public class Accept
{
public void Check()
{
using (var ctx = new termsEntities())
{
ctx.usp_ChkTerms(8, new ObjectParameter("Accepted", typeof(bool)));
ctx.SaveChanges();
}
}
}
Теперь я вызываю это в своем контроллере:
public ActionResult App()
{
// calling Stored procedure from Model to class
var accept = new Accept();
accept.Check();
// checking if accepted is true then return view else return another view
AppEntities Accepted = new AppEntities();
AppTerm user = new AppTerm();
AppHist history = new AppHist();
user = (from AppTerm app in Accepted.AppTerms
where app.userID == 8
select app).ToList().FirstOrDefault();
if (user != null)
{
if (user.Accepted)
{
return View("Index");
}
else
{
return View("terms");
}
}
И это код, который я использую в своем представлении терминов:
@{
ViewBag.Title = "terms";
}
<html>
<body>
<ul>
@foreach ( var item in Model)
{
<div class="Page" onclick="location.href='@Url.Action("Info", new { id = item.ID })'">
span class="Col1">
<br />
@item.ID
</span>
<span class="Title">@item.Name</span>
}
</ul>
</body>
</html>
Здесь, когда условие истинно, отображается страница индекса, но когда условие падает и когда оно пытается отобразить страницу терминов, я получаю Ссылка на объект не установлена на экземпляр объекта, и ошибка указывает на цикл foreach. так какую ошибку я здесь делаю? Мне нужна помощь..