ASP.net MVC 和 jQueryUI 困境
-
03-07-2019 - |
题
我刚刚将一个项目移至测试版 ASP.net MVC
框架,我遇到的唯一问题是 jQuery
和 jQueryUI
.
这是交易:
在 Site.Master
以下是脚本参考:
<script src="../../Scripts/jquery-1.2.6.js" type="text/javascript"></script>
<script src="../../Scripts/jquery-ui.js" type="text/javascript"></script>
并利用这些, accordian UI
我对其中一种观点的看法非常有效,除了一个问题:图像来自 ThemeRoller
不包含在页面中。如果我注释掉 jQuery 引用,ThemeRoller 图像就在那里。所有的CSS都在 Content folder
所有的脚本都在 Scripts folder
.
我知道这是一个愚蠢的路径问题,但它让我抽搐。
我缺少什么?
更新
我尝试了第一个答案,但无济于事,请阅读评论以了解详细信息。再次感谢观看的各位。
第二种方法也行不通。我很困惑。
另一个更新
使用 Url.Content
脚本的标签确实允许脚本正常运行。使用样式表的常规标签可以将所有样式添加到页面上,除了所有与 ThemeRoller 相关的样式。
这 jquery-ui-themeroller.css
文件位于 Content 文件夹中,当我检查元素时,CSS 存在。我怀疑问题出在从该 css 文件到 themeroller 的图像文件夹的映射中,该文件夹也位于 Content 文件夹中。该文件中的图像链接指定为: background: url(images/foo.gif)
该文件中的链接需要更改吗?
解决方案
这有帮助吗?
http://forums.asp.net/p/1334947/2690469.aspx
不稳定的原因是 很简单,虽然我承认不是 容易搞清楚!当你有一个 <!> LT;链路GT <!>;标记在<!> lt; head中 runat = <!> quot; server <!> quot; <!> gt;,ASP.NET将处理 <!> lt; link <!> gt;标记和检测URL和 解决他们相对于 应用程序的根目录。当你有一个 <!> LT;脚本GT <!>;页面上的标签(没有 runat = <!> quot; server <!> quot;)然后ASP.NET将 不管怎样,因为它很简单 旧的HTML。
使用Url.Content()是我的方法 因为它会用来解决这个问题 得到相对于app root的解析, 就像<!> lt; link <!> gt;标签
其他提示
除非您的所有视图都处于同一级别,否则您需要使用
- 使用绝对路径,例如 /Scripts/jquery-1.2.6.js
- 或者更好的是,解析虚拟路径,例如 <%= Url.Content("~/Scripts/jquery-1.2.6.js") %>
Url.Content() http://jvance.com/media/2008/10/18/UrlContent5.media
您需要更改jquery-ui-themeroller.css中的链接以指向图像的当前位置。
在中,您需要更新css文件正在查找的图像的路径。
background: url(images/foo.gif)
从路径中删除'images /',使其看起来像:
background: url(foo.gif)
因为你的css和图像都在内容文件夹中。
protected void Page_Load(object sender, EventArgs e)
{
Page.ClientScript.RegisterClientScriptInclude(this.GetType(),"JQuery", ResolveUrl("~/js/jquery.min.js"));
Page.ClientScript.RegisterClientScriptInclude(this.GetType(), "JQueryUI", ResolveUrl("~/js/jquery-ui.custom.min.js"));