2013-09-27 198 views
2

我正在尝试将主题应用于jqGrid。我搜索了信息,但是我找不到一个可以逐步解释的网站。那么有人可以告诉我如何做到这一点? 我的项目是在asp.net mvc4,jquery和jqGrid中开发的。将主题应用于jqGrid

第一次尝试:

我已经下载了微软的主题,我已经把它放在我mvc4 asp.net项目下的\ Content文件夹。雷德蒙文件夹中包含一个文件夹,图片和根,三个css文件象下面这样:

\Content 
    \redmond 
     \images 
     jquery-ui.css 
     jquery-ui.min.css 
     jquery.ui.theme.css 

所以为了我的母版页使用的主题,在头标记我做的:

<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,这是一个CSHTML文件在我的\ App_Code文件夹及其内容是:

@using System.Web.Mvc; 
@helper Script(string scriptName, UrlHelper url) 
{ 
    <script src="@url.Content(string.Format("~/Scripts/{0}", scriptName))" type="text/javascript"></script> 
} 

现在主题应用于我的jqGrid,但主题应用后,包含它的所有我的页面,甚至主页面被屏蔽(禁用,灰色),并在下面的页面底部显示(一个警告窗口,俗话说:请选择行):

http://snag.gy/AgUvM.jpg

什么happenning?有任何想法吗?

解决方案:

我使用的是下拉脚本文件jQuery的dd.js,但我忘了加上CSS样式为它的头部标签在我的母版页(还我忘了包括CSS文件为jqGrid):

<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"/> 

回答

2

这是构建您的jQuery主题的有用链接。 jQuery UI。你需要做的是选择你想要的主题,并从页面底部的链接下载文件。在你的asp.net-mvc应用程序中使用它。希望这会有所帮助..

+0

好的,请下载压缩文件(主题链接在底部),然后将所需的主题文件夹放在我的\ Content文件夹右边?我已经看到,根目录中只有一个包含很多gif,png和一些css文件的图像文件夹。我想jquery-ui-xxx.js用于加载它们(在我的脚本文件夹中)? – user1624552

+1

是的你是对的。我希望你选择了你的主题。你需要做的是调用主题中的css文件并添加最新的jquery和jquery-ui js文件。你会得到的。 –

+0

我已经做到了,现在应用了主题,但是当应用所有页面时,甚至主页面都会被阻止(禁用),并在页面底部显示一个窗口,提示“请选择一行”。请查看我更新的帖子。 – user1624552

2

如果你选择了一个主题(我假设一个jQuery UI主题),你可以将它保存在一个可访问的文件夹(/ Content/Themes/etc)中。

之后,它应该像添加主题到您的视图或布局一样简单。

例:

<link href="@Url.Content("~/Content/themes/redmond/jquery-ui-1.10.3.custom.css")" rel="stylesheet" type="text/css" /> 

(在这个例子中,我选择了“微软”的主题,并有jQuery用户界面的定制版本1.10.3)

然后,只需确保你的观点,当你加载它实际上可以访问你已经链接的CSS文件。

+0

我已经做到了,主题现在已经被应用,但是当应用所有页面时,甚至主页面都被阻止(禁用),并在页面底部出现一个窗口,说:“请,选择一行“。请查看我更新的帖子。 – user1624552