我刚刚将一个项目移至测试版 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 的图像文件夹的映射中,该文件夹也位于 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"));
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top