我喜欢从c#调用JavaScript函数。任何人都可以给我代码片段。
更多细节......
我有一个asp.net页面,它有一个asp按钮。当我点击那个按钮时,我想调用javascript函数。
明智的......在我的asp.net页面中,
<button id="save" onclick="i like to call a method resides in asp.net page'>Save</button>
越来越多的细节...... 当点击asp.net按钮时,我喜欢执行一些服务器端操作,然后喜欢从那里调用一个javascript函数...
答案 0 :(得分:9)
对于asp:button
您使用OnClientClick
<asp:Button id="myid" runat="server" OnClientClick="alert('test')" />
答案 1 :(得分:6)
假设您在ASP.NET(包括MVC)中进行编码,调用JavaScript函数意味着将JavaScript中的调用嵌入到ASPX代码中,如下所示:
<script type="text/javascript">
doSomething();
</script>
您确实有机会将信息从C#传递给JS调用,就像您可以使用任何其他代码更改ASPX的结果一样:
<script type="text/javascript">
doSomething("<%= GetSomeTextFromCSharp(); %>");
</script>
这实际上扩展了“从C#调用JavaScript”的定义。您正在做的是让您的C#/ ASPX代码生成HTML / JavaScript,然后浏览器将其解释为任何其他HTML / JS(无论它是如何生成的)。
也许你可以解释一下你还想做些什么。
答案 2 :(得分:4)
我尝试使用此代码,它可以帮助我查看是否有帮助
1)
Page.ClientScript.RegisterStartupScript(this.GetType(), "click", "alert('Informations');", true);
另一种方法是调用在源页面中编写的javascript方法
Page.ClientScript.RegisterStartupScript(this.GetType(), "click", "xyz();", true);
答案 3 :(得分:3)
您无法从ASP.NET C#代码隐藏中“调用”Javascript函数。您可以将其他Javascript写入网页。当页面被发送回用户并且Javascript存在时,您的代码隐藏已经消失。您可以写出文字或做一个Response.Write()
Response.Write("<script language='javascript'>alert('Hellow World');</script>");
答案 4 :(得分:1)
<button>
似乎是严格的客户端(即:HTML),其中没有ASP.NET交互。要调用JavaScript函数,您需要将函数调用附加到按钮标记的onclick属性:
<button id="save" onclick="mySaveFunction();'>Save</button>
请注意,只需要在浏览器的当前页面的加载堆栈中定义mySaveFunction()
。这意味着它可以在以下任何一个中定义:
<button>
最后,我想重申一下,没有特别针对此问题的C#/ ASP.NET特定内容。您可以对任何语言/框架执行相同的操作,包括静态HTML文件。您的问题似乎完全取决于JavaScript。
答案 5 :(得分:1)
对于窗口对象:
http://msdn.microsoft.com/en-us/library/ms536420%28VS.85%29.aspx
window.execScript
对于页面pbject:
http://msdn.microsoft.com/en-us/library/dfbt9et1%28v=VS.71%29.aspx
的RegisterClientScriptBlock
RegisterOnSubmitStatement
的RegisterStartupScript
等等......答案 6 :(得分:1)
你可以从页面后面的代码中调用javascript函数..例如你在javasript中有closewindow函数定义部分..如果你想执行该函数,你可以在代码页面后面的任何点击事件中编写以下编码。< / p>
ClientScript.RegisterClientScriptBlock(GetType(), "close", "<script language=javascript>Closewindow();</script>", false);