gpt4 book ai didi

jquery - MVC 损坏的图像路径

转载 作者:太空宇宙 更新时间:2023-11-04 14:14:23 26 4
gpt4 key购买 nike

我在我的 MVC 应用程序中使用 jQuery DatePicker 插件。要为日历弹出窗口显示特定图像,我使用以下行

 $.datepicker.setDefaults({
showOn: "both",
buttonImage: "../images/Calendar.png",
buttonImageOnly: true,
buttonText: "show calendar"
});

在我的 View 中,我总是按如下方式定义我的表单:

 @using (Html.BeginForm("Insert", "MyController", FormMethod.Post, new { id = "insertForm", onsubmit = "return confirm('Do you confirm insert operation?')" }))

当我不带任何参数运行某个页面时,比如

http://localhost:52849/MyController/Insert

一切正常,日历图像正确显示。此外,当我使用 Firebug 检查元素时,我看到以下声明:

<img class="ui-datepicker-trigger" src="../images/Calendar.png" alt="Show Calendar" title="Show Calendar"/>

如果我在 Chrome 中复制图片 URL,我会得到

http://localhost:52849/images/Calendar.png

但是当我用一个参数调用页面时

http://localhost:52849/MyController/Insert/6

图像消失了。当我用 Firebug 检查按钮时,我仍然看到与

相同的声明
<img class="ui-datepicker-trigger" src="../images/Calendar.png" alt="Show Calendar" title="Show Calendar"/>

但是当我使用 Chrome 获取图像 Url 时,我得到了

http://localhost:52849/MyController/images/Calendar.png

这背后的原因是什么?我怎样才能在不通过查询字符串或 session 变量传递参数的情况下解决这个问题

最佳答案

发生这种情况是因为您为 buttonImage 属性使用了相对路径。

相反,使用绝对路径,问题将得到解决。

例如:

 $.datepicker.setDefaults({
showOn: "both",
buttonImage: "/myapplication/images/Calendar.png",
buttonImageOnly: true,
buttonText: "show calendar"
});

(实际上,我通常定义一个包含应用程序根目录的 javascript 变量,然后将其与资源路径结合起来:这样,如果必须将应用程序部署到不同的路径,则所有图像都不会休息。)

例如:

 var appRoot = '<%=Request.ApplicationPath%>';
$.datepicker.setDefaults({
showOn: "both",
buttonImage: appRoot + "/images/Calendar.png",
buttonImageOnly: true,
buttonText: "show calendar"
});

关于jquery - MVC 损坏的图像路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20470620/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com