我正在处理一个页面,该页面从SharePoint列表中接收信息并将其放入WebGrid。当前,它在localhost上可以正常工作,并且所有数据都显示出来,但是一旦我发布并导航到页面,这些页面上唯一显示的就是网格本身的标题,并且在检查控制台时没有错误。 。
我尝试查看是否是我的jQuery,但这似乎不是因为标头在起作用,而使用jQuery的应用程序的其他部分也在起作用。 对SharePoint的身份验证也有效,因为同一应用程序的不同部分可以到达同一列表并更新信息。
@model List<CalendarEvent>
@{
ViewBag.Title = "Dashboard";
var grid = new WebGrid(Model, canPage: true, rowsPerPage: 10,
selectionFieldName: "selectedRow", ajaxUpdateContainerId: "gridContent");
grid.Pager(WebGridPagerModes.NextPrevious);
<link rel="stylesheet" type="text/css" href="/Content/site.css" />
<link rel="stylesheet" type="text/css" href="~/Content/custom.css" />
}
<main class="vh-main container">
<div id="mainControls" class="container body-content">
<h2 class="AppointmentHeader">Your Appointments</h2>
<div id="gridContent">
@if (Model != null)
{
@grid.GetHtml(tableStyle: "webgrid-table",
rowStyle: "webgrid-row-style",
alternatingRowStyle: "webgrid-alternating-row",
mode: WebGridPagerModes.All,
headerStyle: "webgrid-header",
footerStyle: "webgrid-footer",
selectedRowStyle: "webgrid-selected-row",
columns: grid.Columns(
grid.Column("Subject", "Subject"),
grid.Column("PatientName", "Patient Name"),
grid.Column("StartDate", "Start Date/Time", format: (item) => item.StartDate.DateTimeValue.ToString("MMM dd, yyyy h:mm tt")),
grid.Column("EndDate", "End Date/Time", format: (item) => item.EndDate.DateTimeValue.ToString("MMM dd, yyyy h:mm tt")),
grid.Column("MeetingUrl","Join Meeting",
format: @<text><a href="@item.MeetingUrl">Join Meeting</a></text>)
));
}
else
{
<div id="gridEmptyMessage">
<b> There are no appointments scheduled for today </b>
</div>
}
</div>
</div>
答案 0 :(得分:0)
在这种情况下需要检查的事物:
1)在浏览器的开发人员工具中打开“网络”标签,检查用于获取“共享点”数据形式的api是否正在返回数据。
2)添加日志并检查Model是否有数据。
3)在开发工具中,检查div或Web网格,并检查是否可见的表行和列未隐藏。
4)还要在开发工具的控制台中检查与Web网格无关的任何东西,无论是CSS,jquery还是任何其他库。
希望有帮助。