我在MVC中使用Infragistics 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)