我是一名正在学习.NET的实习生。我在VS17中运行了一个mvc Web应用程序,该应用程序在UI上显示小部件,但我无法在UI上显示应用程序数据(从数据库中获取)。我项目的目标版本是.NET Framework 4.6.2。我正在使用的其他应用程序包括nhibernate和ext.net。
我知道我的数据正在传递,因为我在调试时可以看到将数据传递给data []。有什么原因为什么在使用Html.X.GridPanel或任何html扩展名时不显示任何内容?可以识别html代码,但未显示gridpanel。
感谢您的帮助,我已经参加了数周。
我已经在views文件夹中检查了web.config,以确保一切正确。
cshtml
group by
控制器
SELECT
CUST,
sum(MILK) t_MILK
FROM Product
PIVOT (
SUM(QTY) FOR PRODUCT IN (MILK)
) AS pvt
GROUP BY CUST
ORDER BY CUST
GO
模型
@model Vizor.Models.Load.VisionCameras
@using BackupDataMiner.Domain;
@Html.X().ResourceManager().RenderScripts(ResourceLocationType.None).RenderStyles(ResourceLocationType.None)
@using System.Text;
@using System;
<link type="text/css" rel="stylesheet" href="/extjs/resources/css/ext-all-gray-embedded-css/ext.axd?v=25767" />
<link type="text/css" rel="stylesheet" href="/extnet/resources/extnet-all-embedded-css/ext.axd?v=25767" />
<script type="text/javascript" src="/extjs/ext-all-js/ext.axd?v=25767"></script>
<script type="text/javascript" src="/extnet/extnet-all-js/ext.axd?v=25767"></script>
@{
if (Model.vCams.Count > 0)
{
object[] data = new object[Model.vCams.Count];
for (int i = 0; i < Model.vCams.Count; i++)
{
BackupDataMiner.Domain.VisionCamera s = Model.vCams[i];
string attName = "";
data[i] = new object[] { s.Model, s.Firmware };
}
@(Html.X().GridPanel()
.BodyStyle("border:0")
.ID(Guid.NewGuid().ToString())
.ForceFit(true)
.CellCls("minerlog")
.Scroll(ScrollMode.Vertical).BottomBar(bar => bar.Add(Html.X().PagingToolbar()
.DisplayInfo(true).HideRefresh(true)
.DisplayMsg("Displaying Machines {0} - {1} of {2}")))
.Store(
Html.X().Store().Model(
Html.X().Model().Fields(
new ModelField("Model"),
new ModelField("Firmware"))).DataSource(data).RemoteSort(false).IsPagingStore(true).RemotePaging(true).PageSize(17)
).ColumnModel(
Html.X().Column().Text("Model").DataIndex("Model"),
Html.X().Column().Text("Firmware").DataIndex("Firmware")
)
);
}
else
{
<div>No Vision Cameras Installed on this Machine, or the backup format is old.</div>
}
}
视图中的web.config
public class LoadController : Controller
{
public ActionResult VisionCameras(int MachineID)
{
Models.Load.VisionCameras model
= new Models.Load.VisionCameras(MachineID);
return View(model);
}
}