2013-04-18 39 views
0

我有下面的代码行的C#:C# - 传递C#的变量的JavaScript

Page.ClientScript.RegisterStartupScript(Page.GetType(), null, "window.open('http://localhost:4000/Transaction_Number.aspx?num=<%=trans_number%>', '_newtab')", true); 

现在,trans_number是在我的C#的变量代码隐藏。我的问题是,当我处理的查询字符串(num变量),结果总是:

​​

,而不是该变量的内容。我该如何解决这个问题?

回答

8

我想,你能解决这个漂亮容易......也许:

Page.ClientScript.RegisterStartupScript(Page.GetType(), null, "window.open('http://localhost:4000/Transaction_Number.aspx?num=" + trans_number + "', '_newtab')", true); 
+0

太谢谢你了:)您的解决方案工作就像一个魅力:) – Matthew

1

您有一个变量串接,并依次嵌入到另一个字符串中的字符串。类似这样的问题往往在使用中间变量和方法String.Format走开:

string url = String.Format(@"http://localhost:4000/Transaction_Number.aspx?num={0}", trans_number); 
string js = String.Format("window.open('{0}', '_newtab')", url); 

Page.ClientScript.RegisterStartupScript(Page.GetType(), null, js, true);