从javascript中的应用程序根获取路径
我编写了一个javascript函数loadPage(),它需要一个指向某个页面的路径作为参数。我需要从应用程序根目录中指定此路径。我不想要相对路径。请让我知道我该怎么做。我的Site.master中有这段Javascript,就在jquery导入的下面,上面是对我自己脚本的任何引用从javascript中的应用程序根获取路径,javascript,asp.net,jquery,Javascript,Asp.net,Jquery,我编写了一个javascript函数loadPage(),它需要一个指向某个页面的路径作为参数。我需要从应用程序根目录中指定此路径。我不想要相对路径。请让我知道我该怎么做。我的Site.master中有这段Javascript,就在jquery导入的下面,上面是对我自己脚本的任何引用 function detailed_link(cell_rowid) { var $tabs = $('#infrTab').tabs(); $tabs.tabs('select',
function detailed_link(cell_rowid) {
var $tabs = $('#infrTab').tabs();
$tabs.tabs('select', 1); // switch to third tab~
objRowData = $('#' + pageGridId).getRowData(cell_rowid);
//document.getElementById("Name").value = objRowData.amount;
loadPage('Infringement/TaskDetail', 'taskDetails'); /* Path */
}
假设您有一个包含以下地址的页面:
http://sub.domain.com/page.htm
。使用以下页内代码获得这些结果:
:您将获得window.location.host
或sub.domain.com:8080
sub.domain.com:80
:您将获得window.location.hostname
sub.domain.com
:您将获得window.location.protocol
http:
:您将获得window.location.port
或8080
80
:您将获得window.location.origin
http://sub.domain.com
http://www.domain.com/iis/youapp/pages/one.aspx
而不是绝对路径。。。。我建议使用上下文路径,因此如果您的页面位于http://www.so.com/pages/one.aspx
您将使用/pages/one.aspx
在这种情况下,如果javascript存在于某些内部文件夹中,我将不得不更改路径。您是否有权访问Url.RouteUrl()
?(你会在.NET 4.0 asp.NET应用程序中看到这个)@Alastair你能给我一些参考资料吗。@vaibhav当你从根文件夹使用它时,你所在的目录并不重要。从根文件夹中,我的意思是,正如我给你的示例所示,我是否必须编写jQuery.url=function(path){return'+path;};在我的javascript文件中。或者它是jquery内部的。我个人将它添加到我的javascript文件之前的Site.Master中,因为我可以保证它将在使用之前运行。它将向jquery对象添加一个新方法,就像.NETGreat idea中的扩展方法一样。但是,我会将代码更改为类似的内容,因为不是每个人都有一个主索引:return'+path代码>@mattmc3:这是一个比我的更干净的版本:)
<script type="text/javascript">
//Function that provides a relative URL for cases of virtual directories.
jQuery.url = function (path) {
return '<%: Url.Action("Index","Home") %>' + path;
};
</script>
$.url('Infringement/TaskDetail')