ASP.net MVC 和 jQueryUI 的困境

Posted

技术标签:

【中文标题】ASP.net MVC 和 jQueryUI 的困境【英文标题】:ASP.net MVC and jQueryUI dilemma 【发布时间】:2010-09-17 21:22:27 【问题描述】:

我刚刚将一个项目移至ASP.net MVC 框架的测试版,我遇到的唯一问题是jQueryjQueryUI

这是交易:

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的images文件夹的映射中,该文件夹也在Content文件夹中。此文件中的图片链接指定为:background: url(images/foo.gif)

此文件中的链接需要更改吗?

【问题讨论】:

【参考方案1】:

除非您的所有视图都处于同一级别,否则您需要使用

使用绝对路径,例如 /Scripts/jquery-1.2.6.js 或者更好,解析一个虚拟路径比如

Url.Content() http://jvance.com/media/2008/10/18/UrlContent5.media

【讨论】:

我尝试了使用 Url.Content 标记的选项,它改变了一件事:现在所有内容都未注释,图像显示但 jQueryUI 无法正常工作。【参考方案2】:

这有帮助吗?

http://forums.asp.net/p/1334947/2690469.aspx

不一致的原因是 很简单,虽然我承认不是 很容易弄清楚!当你有一个

标签 runat="server">,ASP.NET 将处理 标签并检测 URL 和 解决它们相对于 应用程序的根。当你有一个 页面上的

【讨论】:

它帮助我更好地理解问题并更接近,但解决方案仍然超出我的掌握。 原来问题是从 ThemeRoller 下载的主题不能开箱即用。感谢您的解释。【参考方案3】:

您需要更改 jquery-ui-themeroller.css 中的链接以指向图像的当前位置。

如中,您需要更新 css 文件正在查找的图像的路径。

background: url(images/foo.gif)

从路径中删除“图像/”,使其看起来像:

background: url(foo.gif)

因为您的 css 和图像都在内容文件夹中。

【讨论】:

【参考方案4】:
    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"));

【讨论】:

以上是关于ASP.net MVC 和 jQueryUI 的困境的主要内容,如果未能解决你的问题,请参考以下文章

Asp.Net MVC 中的 JQuery UI 日期选择器

ASP.NET Core 5 MVC:在模态窗口之前验证表单

带有 Jquery 模态形式的 asp.net MVC

ASP.Net MVC在AspNet Mvc使用JQuery AutoComplete组件

jqueryUI datetimepicker 未正确显示

无法让 Jquery datepicker 在我的 asp.net mvc 项目中工作