局部视图中的模型未返回任何数据

我不太确定我在这里错过了什么。我已经打电话给聊天控制器,如下所示:_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事件探查器进行跟踪,这甚至没有触发表聊天。


牛魔王的故事
浏览 74回答 3
3回答

九州编程

实体框架代码看起来还行。我只是想知道传递给 ApplicationDbContext 的连接字符串是否与您正在分析并包含数据的数据库相同。有时很容易错过这一点,因为具有默认策略的实体框架将自动创建一个数据库(如果该数据库不存在)。[已更新]您的分部视图代码有点不正确。以下是写入的:@model IEnumerable<ERP.Models.Chat>@{&nbsp; &nbsp; Layout = null;}@{&nbsp; &nbsp; foreach (var chat in Model)&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp;@Html.Raw(chat.Message) // Put the @ symbol before Html&nbsp; &nbsp; }}

RISEBY

我很抱歉大家。看起来这不是编码问题。我不知道这是什么原因造成的。我尝试在另一台PC中加载所有包并编译它,这很好。很抱歉,我无法在这里给出答案,但上次我记得是更新并将id从更新和更改为。SignalRGuidInt

大话西游666

试试这个:public class ChatsController : Controller{&nbsp; public ActionResult Index()&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; using (ApplicationDbContext db = new ApplicationDbContext())&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var chats = db.Set<Chat>().ToList();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return PartialView("_Index", chats);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }}
打开App,查看更多内容
随时随地看视频慕课网APP