Модель в частичном представлении не вернула никаких данных - PullRequest
0 голосов
/ 03 февраля 2019

Я не совсем уверен, что я здесь пропустил.У меня есть вызов контроллера чата в _Layout, как показано ниже:

<div id="ChatContainer" class="chat-popup">
    @Html.Action("Index", "Chats")
</div>

Контроллер возвращает частичное представление с моделью, как показано ниже:

public class ChatsController : Controller
{
    private ApplicationDbContext db = new ApplicationDbContext();

    public ActionResult Index()
    {
        var chats = db.Set<Chat>().ToList();
        return PartialView("_Index", chats);
    }
}

Затем отображается частичное представление:

@model IEnumerable<ERP.Models.Chat>

@{
    Layout = null;
}

@{
    foreach (var chat in Model)
    {
        @Html.Raw(chat.Message);
    }
}

Это не возвращает никакой ошибки и не возвращает никаких данных.Я пытаюсь отследить с помощью SQL Profiler, это даже не запускает настольный чат.

Ответы [ 3 ]

0 голосов
/ 03 февраля 2019

Ваш код Entity Framework выглядит нормально.Мне просто интересно, является ли соединительная строка, передаваемая в ApplicationDbContext, той же базой данных, в которой вы профилируете и в которой хранятся данные. Иногда это легко пропустить, поскольку Entity Framework с политикой по умолчанию автоматически создаст базу данных, если она не существует.

[Обновлено]

Код вашего частичного просмотра неверный.Ниже пишется:

@model IEnumerable<ERP.Models.Chat>

@{
    Layout = null;
}

@{
    foreach (var chat in Model)
    {
       @Html.Raw(chat.Message) // Put the @ symbol before Html
    }
}
0 голосов
/ 03 февраля 2019

Мне очень жаль.Похоже, это не проблема кодирования.

Я не знаю, что вызвано этим.Я пытаюсь загрузить весь пакет в другой компьютер и скомпилировать его, и это работает хорошо.

Извините, я не могу дать здесь ответ, но в последний раз, который я помню, я обновил SignalR и изменил идентификатор с Guid на Int.

0 голосов
/ 03 февраля 2019

Попробуйте это:

public class ChatsController : Controller
{
  public ActionResult Index()
    {
          using (ApplicationDbContext db = new ApplicationDbContext())
          {
            var chats = db.Set<Chat>().ToList();
            return PartialView("_Index", chats);
          }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...