ASP MVC3 - DomainModel & Razor - отображение информации из базы данных - PullRequest
1 голос
/ 08 сентября 2011

У меня в настоящее время есть моя «DomainModel», которая обрабатывает все данные SQL через EDMX.

Когда я использовал страницу ASPX, я мог использовать следующий код:

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<IEnumerable<DomainModel.aspnet_Membership>>" %>
<% foreach (DomainModel.aspnet_Membership member in Model)
   {
List<DomainModel.aspnet_Roles> roles = member.aspnet_Users.aspnet_Roles.ToList();
}

Thisвозвратил список всех членов из базы данных SQL через domainModel.

Это было для моего теста, но теперь требуется использовать страницы бритвы CSHTML.(Используя блоки кода "@")

Я пытался реализовать подобный код, но он всегда падает:

@model IEnumerable<DomainModel.aspnet_Membership>
@foreach (DomainModel.aspnet_Membership m in Model)
{
<b>@m.aspnet_Users.UserName</b>
}

edit: error: исключение NullReferenceException было обработано.Ссылка Obj не установлена ​​на экземпляр объекта

Контроллер (я забыл добавить этот код, теперь такая же ошибка возникает, но в контроллере)

private productName_SATEntities _context; [HttpParamAction] [AcceptVerbs(HttpVerbs.Post)] public ActionResult Scenario() { return View(_context.SAT_Scenarios.ToList()); } _Контекстные ссылкик содержимому, сгенерированному EDMX

1 Ответ

0 голосов
/ 08 сентября 2011

Не должно ли быть:

@model IEnumerable<DomainModel.aspnet_Membership>
@{foreach (DomainModel.aspnet_Membership m in Model)
{
    <b>@(m.aspnet_Users.UserName)</b>
}}

?Я добавил фигурные скобки ({ и }) вокруг оператора foreach.В противном случае компилятор подумает, что вам нужно значение foreach на вашей странице, что является ошибкой во время компиляции.

Я также добавил круглые скобки (( и )) около m.aspnet_Users.UserName, чтобы сделатьжить проще: он должен работать без них, но затем мы неявно контролируем, какой компилятор будет считать код на стороне сервера (например, он точно не сломается при _).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...