我在MVC中使用Infrastics Ignite UI网格。我能够正确加载网格,但它没有显示在浏览器中。当我点击浏览器上的查看源代码时,我可以看到网格已经加载了数据,但它只显示了一个"。我真的不明白它是如何不显示css的。是因为bootstrap.css导致的吗?
@IMports Infragistics.Web.Mvc
@ModelType System.Collections.ObjectModel.ObservableCollection(Of FultonWS.scll_label)
@Code
ViewData("Title") = "Tickets"
End Code
@Html.Infragistics.Loader().ScriptPath("~/js/").CssPath("~/css/").Render()
@Html.Infragistics.Grid(Of Mueller_Scale_System_Dashboard.FultonWS.scll_label)(Model.AsQueryable()).ID("igGrid").Columns(Sub(col)
col.For(Function(i) i.scll_part).HeaderText("Part Number")
End Sub).Features(Sub(features)
features.Paging().PageSize(20)
features.Sorting()
features.GroupBy()
features.Updating().EnableAddRow(False).EnableDeleteRow(False)
End Sub).DataBind.Render()
我在布局页面中呈现脚本和css
<link type="text/css" href="~/css/themes/infragistics/infragistics.theme.css" rel="stylesheet" />
<link type="text/css" href="~/css/structure/infragistics.css" rel="stylesheet" />
<title>@ViewBag.Title - Mueller Scale System Dashboard</title>
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/modernizr")
<script src="~/Scripts/jquery-ui-1.8.11.js" type="text/javascript"></script>"
<script src="@Url.Content("~/js/infragistics.loader.js")" type="text/javascript"></script>
我的控制器动作低于
Async Function Tickets() As Threading.Tasks.Task(Of ActionResult)
Dim bd As New BusinessData
Dim ticketsColl = Await bd.GetTicketsAsync
Return View("Tickets", ticketsColl)
End Function
问题是MVC 5中的JQuery将脚本加载到html的主体中。这导致控件无法正确加载,因为加载时脚本不可用。注释掉jquery的渲染脚本,并将其添加到html的头部分。
<div class="container-fluid body-content">
@RenderBody()
<hr />
<footer>
<p>© @DateTime.Now.Year - </p>
</footer>
</div>
@*@Scripts.Render("~/bundles/jquery")*@
@Scripts.Render("~/bundles/bootstrap")
@RenderSection("scripts", required:=False)