我不太确定我在这里错过了什么。我在_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事件探查器进行跟踪,这甚至没有触发表聊天。
答案 0 :(得分:1)
您的实体框架代码看起来不错。我只是想知道传递给ApplicationDbContext的连接字符串是否与您要分析的数据库相同,并已将数据放入其中。有时很容易错过这一点,因为具有默认策略的Entity Framework如果不存在则将自动创建数据库
[已更新]
您的局部视图代码有点不正确。下面是写一个:
import {Component} from '@angular/core';
import {Platform} from '@ionic/angular';
import {File} from '@ionic-native/file';
@Component({
selector: 'app-home',
templateUrl: 'home.page.html',
styleUrls: ['home.page.scss'],
})
export class HomePage {
constructor(public platform: Platform) {
platform.ready().then(() => {
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem) {
console.log(fileSystem)
}, function(error) {
console.log(error);
});
});
}
}
答案 1 :(得分:0)
尝试一下:
public class ChatsController : Controller
{
public ActionResult Index()
{
using (ApplicationDbContext db = new ApplicationDbContext())
{
var chats = db.Set<Chat>().ToList();
return PartialView("_Index", chats);
}
}
}
答案 2 :(得分:0)
我很抱歉。看起来这不是编码问题。
我不知道是什么原因造成的。我尝试将所有程序包加载到另一台PC上并进行编译,这一切正常。
对不起,我在这里无法真正给出答案,但是我上次记得是在更新SignalR
并将id从Guid
更改为Int
。