使用javascript将变量从asp.net页面传递到新页面

passing variable from asp.net page to new page using javascript

本文关键字:新页面 net javascript 变量 asp 使用      更新时间:2023-09-26

下面是我用c#写的asp.net页面。其中someURL是包含html链接的asp.net字符串变量,如http:'www.somewebsite.com.

ClientScript.RegisterStartupScript(typeof(Page), "openPage", "<script type='text/JavaScript'>var link1 = document.getElementById('<%=someURL.ClientID%>');window.open(link1);</script>");

目标是当上面的javascript执行时,它将打开一个新的浏览器页面,其中包含someURL字符串(http:'www.somewebsite.com等)

我的问题是,它打开一个空白页,没有任何在url。我想我知道为什么…javascript代码中引用的someURL变量不是来自调用的asp.net页面。

我说的对吗?关于如何实现我的目标有什么建议吗?

谢谢。

不确定这样做的目的。但是变量link1是对DOM元素的引用。

你需要得到的文本(取决于什么类型的控制someURL是在你的ASP页面)值的DOM element,以传递给其他脚本。

这绝不是优雅的或推荐的,但将工作

c# -在你的代码隐藏页

public string nextURL = "http://yourdomain.com/yourpage.aspx"

ASP。. NET -在你的aspx页面

<script type="text/javascript">
  var myLink = '<%= nextURL %>';
  function newPage() {
    window.open(myLink);
  }
</script>

为了那些新学习者的利益,经过一些努力,这里是我的最终代码,将为我完成这项工作:

在my calling .cs文件中:

   protected String someURL;  //global variable
    ClientScript.RegisterStartupScript(typeof(Page), "openPage", "<script type='text/JavaScript'>window.open(currentLinkURL);</script>");

在我的。aspx文件中:

var currentLinkURL = '<% = someURL %>';  //currentLinkURL is a javascript variable