将aspx加载到div:错误的路径

时间:2014-09-21 13:52:05

标签: javascript vb.net

我有一个页面,我想加载到div。

enter image description here

我在Trial.js找到了:

$('#mydiv').load('../Views/Employer/Tracking.aspx');

但是没有加载div。

我的问题是什么?

感谢。

1 个答案:

答案 0 :(得分:2)

文件的路径将相对于您所在页面的当前路径,而不是相对于javascript文件。确保您的相对路径位于此处,或使用绝对路径。

由于这是MVC,您当前的“页面”可能是也可能不是页面,但从浏览器的角度来看,无论您使用什么“目录”,它都将用于确定路径。

例如,如果您当前的页面是:

http://example.com/Marketing/Home/Index

然后../Views/Employer/Tracking.aspx会认为您的目录是“主页”,并且会尝试获取http://example.com/Marketing/Views/Employer/Tracking.aspx,并且它应该有效(编辑:这也无效,因为“区域”缺失)。但是,如果您当前的页面是

http://example.com/Marketing/Home/Index/34

然后它会认为“Index”是你的目录,相对路径将返回http://example.com/Marketing/Home/Index/Views/Employer/Tracking.aspx,这将不存在。

一个全局工作的解决方案是将服务器端标记上的URL定义为javascript变量,然后在js文件中使用该变量。例如,在您的布局/母版页中,将指定全局变量的相对路径,并且它将始终正确构建此URL。

<script type="text/javascript">
    var _trackingUrl = "<%= Url.Content("~/Areas/Marketing/Views/Employer/Tracker.aspx") %>";
</script>