2012-07-08 71 views
1

我正在开发一个asp.net web应用程序,我有这个脚本的源代码:如何执行/调用ASP.NET Web应用程序C#方法中的JavaScript方法

<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> 

我可以称它为验证码:

Button4.Attributes["onClick"] = string.Format("showWindow('Child.aspx','{0}', '{1}','{2}');", tbVer.ClientID, Hidden1.ClientID, id_act); 

我的问题是,如何调用JavaScript在像一些C#方法:

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

感谢

+0

微软提供ASP.Net AJAX这种模式混合服务器端代码和客户端代码 - 请参阅http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/ModalPopup/ModalPopup.aspx以了解ModalPopup控件,它似乎可以按照您的需要进行操作。您还可以查看http://msdn.microsoft.com/en-us/library/ms178208.aspx中的其他一些选项。 – dash 2012-07-08 09:35:00

+0

只是不要忘记用户的HTML和URL编码在需要的地方,否则特殊字符可以搞砸你的脚本! – 2012-07-08 09:51:40

回答

0

可以注册脚本块到页像上运行:

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

上面的代码会在页面底部添加代码,如果你想添加它在打开窗体标签后,使用RegisterClientScriptBlock(...) – adinas 2012-07-08 10:29:25

0

可以使用clientscriptmanager

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

http://msdn.microsoft.com/en-us/library/asz8zsxy.aspx

+0

我已经阅读过这篇文章,但是很遗憾没有完全理解它,你在使用Akey和MyFunction的时候会提到什么?现在再读一遍:) – TBogdan 2012-07-08 09:35:19

+0

'AKey'只是识别脚本的一个关键,这个是确保您的脚本只在页面中注册一次 – Jupaol 2012-07-08 09:37:28

+0

由'MyFunction();'表示的文本实际上可以是任何javascirpt代码,最后一个参数指示脚本是否应该在呈现时包含在javascript标记中 – Jupaol 2012-07-08 09:38:28

相关问题