我正在尝试将主题应用于 jqGrid。我已经搜索了信息,但我找不到一个逐步解释的网站。那么有人可以告诉我该怎么做吗?我的项目正在 asp.net mvc4、jquery 和 jqGrid 中开发。
第一次尝试:
我已经下载了 redmond 主题,并将其放在我的 mvc4 asp.net 项目的 \Content 文件夹下。redmond 文件夹包含一个用于存放图像的文件夹,在根目录中包含三个 css 文件,如下所示:
\Content
\redmond
\images
jquery-ui.css
jquery-ui.min.css
jquery.ui.theme.css
所以为了在我的母版页中使用主题,在 head 标签中我这样做:
<head>
...
<link href="@Url.Content("~/Content/redmond/jquery-ui.css")" rel="stylesheet" type="text/css" media="all" />
<link href="@Url.Content("~/Content/redmond/jquery-ui.min.css")" rel="stylesheet" type="text/css" media="all" />
<link href="@Url.Content("~/Content/redmond/jquery.ui.theme.css")" rel="stylesheet" type="text/css" media="all" />
...
</head>
在母版页的正文中,我也这样做:
(...)
@Scripts.Render("~/bundles/jquery")
@Content.Script("jquery-1.10.2.min.js", Url)
@Content.Script("jquery-ui-1.10.3.min.js", Url)
@Content.Script("jquery.unobtrusive-ajax.min.js", Url)
@Content.Script("jquery.dd.js", Url)
@Content.Script("grid.locale-en.js", Url)
@Content.Script("jquery.jqGrid.min.js", Url)
@RenderSection("scripts", required: false)
</body>
(...)
请注意,我指的是@Content,它是我的 \app_code 文件夹中的一个 cshtml 文件,其内容是:
@using System.Web.Mvc;
@helper Script(string scriptName, UrlHelper url)
{
<script src="@url.Content(string.Format("~/Scripts/{0}", scriptName))" type="text/javascript"></script>
}
现在主题已应用于我的 jqGrid,但在应用主题后,我所有包含它的页面,甚至母版页都被阻止(禁用,变灰),并且在下面的页面底部显示(一个警告窗口说:请,选择一行):
发生了什么事?有任何想法吗?
解决方案:
我正在使用一个下拉脚本文件 jquery-dd.js 但我忘记在我的母版页的 head 标记中添加它的 css 样式(我也忘记包含 jqGrid 的 css 文件):
<link href="@Url.Content("~/Content/dd.css")" rel="stylesheet" type="text/css" />
<link href="@Url.Content("~/Content/ui.jqGrid.css")" rel="stylesheet" type="text/css" media="all"/>