所以我在seperare js文件中有一些Javascript(jquerySliderMenu.js)
解决图像的网址我这样做: var imgUrl = $ Url.resolve(“〜/ Assets / Javascript / Img”);
在dev中找到工作,(iis 6)
但是在prod(iis 7.5)上,它解析为
https://XXXX.org/Home.mvc.aspx/~/Assets/Javascript/Img/right.gif
而不是
https://XXXX.org/Assets/Javascript/Img/right.gif
导致错误。
我记得IT人员必须添加.MVC。但是我无法记住他们为什么或如何做到这一点。
有没有更好的方法来解决与将.mvc.aspx添加到所有内容的设置相关的问题? (请问,那个设置是什么?)
Thansk,
Eric-
答案 0 :(得分:9)
您不应该尝试解析ytour javascript文件中的任何网址。您应该使用url帮助程序在HTML中生成它们。然后Javascript会不引人注意地阅读并使用它们。
您可以使用HTML5 data- *属性,就像不引人注目的AJAX和客户端验证一样。例如,假设您在DOM中有以下元素
<div id="foo" data-url="@Url.Content("~/Assets/Javascript/Img")">some contents</div>
然后在你的javascript:
var imgUrl = $('#foo').data('url');
或者如果你是不引人注意地AJAX化一个锚或一个表单,你可以直接在相应的DOM元素上获取href
或action
属性,这些属性当然是用Url生成的/ Html助手,从而确保正确的网址尊重路线。