在Server.Transfer之后,使用Page.ClientScript.RegisterStartupScript似乎不起作用

时间:2009-12-04 11:48:39

标签: asp.net clientscript

这应该是一个相当简单的问题

在我的代码中的某个时刻,我正在做一个Server.Transfer到另一个页面

在新页面中,有一个电话(详情无关)

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

但是,这个javascript永远不会出现在页面上。

1 个答案:

答案 0 :(得分:0)

虽然这个问题很老,但我遇到了同样的问题,而且这个问题出现在google top上面,我将分享我的解决方案。

对我来说,问题出在这一行(vb.net)

page = DirectCast(HttpContext.Current.Handler, Page) 

应该是

page = DirectCast(HttpContext.Current.CurrentHandler, Page)

然后你使用

page.ClientScript...whatever

诀窍是HttpContext.Current.Handler引用服务器传输之前的页面,HttpContext.Current.CurrentHandler引用当前正在执行的页面: http://msdn.microsoft.com/en-us/library/system.web.httpcontext.currenthandler(v=vs.110).aspx