如何在ASP.NET web应用程序的C#方法中执行/调用javascript方法

如何在ASP.NET web应用程序的C#方法中执行/调用javascript方法,c#,javascript,asp.net,methods,execute,C#,Javascript,Asp.net,Methods,Execute,我正在开发asp.net web应用程序,源代码中有以下脚本: <script language="javascript" type="text/javascript"> function showWindow(URL, controlID, targetControlID,id) { noweOkno = window.open( URL + '?controlID='+controlID+'&targetControlID=' +

我正在开发asp.net web应用程序,源代码中有以下脚本:

 <script language="javascript" type="text/javascript">
    function showWindow(URL, controlID, targetControlID,id)
    {
      noweOkno = window.open( URL + '?controlID='+controlID+'&targetControlID=' + 
         targetControlID+'&id='+ id, '_blank', 
         'menubar=no, toolbar=no, location=no, scrollbars=no, resizable=no, ' +
         'status=no, width=760, height=600, left=30, top=30')
      noweOkno.focus();
    }
   </script>
我的问题是,如何在一些C#方法中调用javascript,如:

protected void someMethod()
{
-I want to call showWindow('Child.aspx','{0}', '{1}','{2}');", tbVer.ClientID, Hidden1.ClientID, id_act);
}

谢谢

您可以使用clientscriptmanager

 ClientScriptManager.RegisterStartupScript(this.GetType(), "AKey", "MyFunction();", true);

您可以注册脚本块以在页面上运行,如:

ClientScript.RegisterStartupScript(GetType(),"hwa","function_name;",true);

微软为这种混合服务器端代码和客户端代码的模式提供了ASP.NETAJAX——请参阅ModalPopp控件,它似乎可以满足您的需要。你也可以考虑其他一些选项。只是别忘了在需要的地方使用html和url编码,否则特殊字符会弄乱你的脚本!我已经读过这篇文章,但遗憾的是,我没有完全理解它,当使用Akey和MyFunction时,您指的是什么?现在我将再次阅读:)Akey的
Akey
只是识别脚本的一个键,这是为了确保您的脚本在页面中只注册一次
MyFunction()表示的文本
实际上可以是任何javascirpt代码,最后一个参数指示脚本在呈现时是否应包含在javascript标记中。因此,对于我的示例,MyFunction是showWindow('Child.aspx','0}','1}','2}');“,tbVer.ClientID,Hidden1.ClientID,id_act);?上述操作将在页面底部添加代码。如果要在开始表单标记之后添加代码,请使用RegisterClientScriptBlock(…)
ClientScript.RegisterStartupScript(GetType(),"hwa","function_name;",true);