2012-12-19 12 views
0

我有一个Javascript函数,我想调用jQuery.Load()来加载文件。我如何获得ASP.Net来填写本地服务器名称,以便我可以给出一个相对路径?如何让ASP.net在JavaScript中填写本地服务器jQuery.Load调用

原因是我可以给基地,说“http://www.mydomain.com/”,但我希望能够在本地进行测试,而不必在每一个版本发布。我只想加载一个本地文件。

我的第一个想法只是“/MyFolder/MyPage.aspx”,但没有奏效。然后我想到了“〜/ MyFolder/MyPage.aspx”,但那也不起作用。

我想它应该是某种ASP.Net指令的前置,只是我不知道是什么。

我想给一些代码来显示实际使用和工作。

<head runat="server"> 
    <script type="text/javascript"> 
     // <![CDATA[ 
     function DoPopupSignin() 
     { 
      var urlLoad = "http://" + window.location.host + '/Candiates/Login.aspx'; 

      // Triggering bPopup when click event is fired 
      $('#popupSigninMaster').bPopup({ 
       //modalClose: false, 
       //opacity: 0.6, 
       //positionStyle: 'fixed', //'fixed' or 'absolute' 
       content: 'iframe', //'iframe' or 'ajax' 
       contentContainer: '.content', 
       loadUrl: urlLoad, //Uses jQuery.load() 
     }); 
     } 
     // ]]> 
    </script> 
</head> 

我想让我的jQuery弹出工作负载从另一个文件的内容。我的代码使用了我发现的免费jQuery弹出窗口控件jQuery.bPopup.js

+0

你应该可以用相对路径来做到这一点。你能给出你的文件夹结构的大纲吗? – Jack

回答

1

在您准备查询的JavaScript中,您可以使用window.location.host

var path = window.location.host + '/relative/path/file.ext'; 
$.load(path); 
1

这是一个经常性的疼痛,但是我用的是这样的:

public static Uri ToAbsoluteUri(this string path) 
{ 
    Uri uri; 
    if (Uri.TryCreate(path, UriKind.Absolute, out uri)) return uri; 

    var serverUrl = HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority); 
    var serverUri = new Uri(serverUrl); 
    return new Uri(serverUri, path); 
} 
+0

我尝试了这种方法,并且在一些摆弄之后产生了一个rip“控件集合不能被修改,因为控件包含代码块(即<% ... %>)。”。我更新了问题以反映实际的代码使用情况,以便将来其他人(或我自己)可以学习和理解。不过,我为这个功能感到高兴,因为我学到了一些东西。这将是非常有用的。 –

0

控制/ .NET中的窗体有一个ResolveUrl(string)方法,让你解决使用〜/寻路相对路径。否则,您使用静态类VirtualPathUtility

相关问题