我不太知道我错过了这里。我有一个打电话聊天控制器中像下面_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事件探查器跟踪,这不是连火表聊天。
你的实体框架的代码看起来OK。我只是想知道传递给ApplicationDbContext连接字符串是否是你被剖析,并有数据同一数据库中。它有时易与默认策略错过了这一点,因为实体框架,如果不存在,它会自动创建一个数据库。
[更新]
您的局部视图代码是不正确位。以下是写一个:
@model IEnumerable<ERP.Models.Chat>
@{
Layout = null;
}
@{
foreach (var chat in Model)
{
@Html.Raw(chat.Message) // Put the @ symbol before Html
}
}
试试这个:
public class ChatsController : Controller
{
public ActionResult Index()
{
using (ApplicationDbContext db = new ApplicationDbContext())
{
var chats = db.Set<Chat>().ToList();
return PartialView("_Index", chats);
}
}
}
我很抱歉所有。像这样没有编码问题。
我不知道什么原因引起的这一点。我尝试加载的所有包在另一台电脑,并编译它,这是工作好。
对不起,我真的不能在这里给出一个答案,但上次我记得正在更新SignalR
和改变从Guid
的id来Int
。