相对于服务器的URL

时间:2012-03-30 18:10:45

标签: c# javascript

我的应用程序中有一个ASP.NET按钮,我想在新窗口中打开服务器上的另一个网站。目前,我在服务器端执行了一个Response.Redirect点击事件(到" .. \ OtherWebsite")。但是因为它需要在一个新窗口中,我需要在JavaScript中完成它。

将' .. \ OtherWebsite' window.open JavaScript命令中的路径工作?如果没有,我可以使用哪些.NET方法/属性来获取完整路径?

我无法对网站网址进行硬编码,因为有些用户会通过局域网(服务器名称\应用程序)访问,有些用户可以通过网站访问(www.website.com/application)

2 个答案:

答案 0 :(得分:1)

您可以使用self.location.href获取网页的当前网址,然后从相对于该网址的新网址中获取,然后将其传递给window.open()方法。

以下是window.open方法的定义。

希望这会有所帮助......

答案 1 :(得分:1)

您可以通过执行代码隐藏中的javascript来执行此操作。

public void OpenNewWindow(string url)
{

   ClientScript.RegisterStartupScript(this.GetType(), "newWindow", String.Format("<script>window.open('{0}');</script>", url));
}

http://forums.asp.net/t/1001747.aspx/1

搜索“从codebehind c#.net打开新窗口”

的第一个结果

然后就这样传递相对url。

String url = "~/page.aspx";
url = Page.ResolveClientUrl(url);
OpenNewWindow(url);

这里也是一个参考:Response.Redirect to new window

希望这有帮助。