2010-05-17 185 views
12

Greetings, 如何在使用C#的代码中在asp.net中编写JavaScript代码。 例如, 我点击按钮的事件,当我点击我要调用该Java脚本代码的按钮:如何在asp.net代码中使用C编写javascript代码#

alert("You pressed Me!"); 

我想知道如何使用Java脚本代码后面。

谢谢;

+0

我建议考虑使用jQuery库,而不是纯JavaScript的。 – 2010-05-17 10:59:07

+2

@大卫。两者适用相同的原则。毕竟,jQuery只是JavaScript。 – Armstrongest 2010-05-17 17:11:12

+2

的确如此 - 但对于以JavaScript开始的人来说,如果他们使用jQuery,他们经常会发现他们的开发更容易。只是传播这个词:) – 2010-05-17 19:33:30

回答

14

其实,这是你所需要的:

string myScriptValue = "function callMe() {alert('You pressed Me!'); }"; 
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "myScriptName", myScriptValue, true); 

复制所有的javascript转换为字符串,然后注册到您的aspx页面的代码隐藏。然后在aspx页面中,您可以随时调用javascript函数。您应该在C#页面的Page_Load方法中编写此代码。

+0

谢谢,我还需要为SystemManager.Web.UI添加ScriptManager前缀。我的VS2013项目中已经引用了System.Web.Extensions。 – John 2014-02-19 00:34:06

6

喜欢的东西:

btnSomething.ClientClick = "alert('You pressed me!');"; 

您还可能要对ScriptManager控件和脚本的输出块阅读起来。

6

正确的答案通常是“你不要”。最好在.js文件中定义代码并使用jQuery来连接所需的事件。

$(document).ready(function() { 
$('#myBtn').click(function() { 
    alert('Handler for .click() called.'); 
});}; 
4

一种方式把一些JavaScript到页面到一个特定的位置做到这一点:

ASP.Net

<script type="text/javascript"> 
<asp:Literal id="litScript" runat="server" /> 
</script> 

C#

litScript.Text = "alert("Hello!");" 

当然,你可以把任何东西那里,我会推荐一个JavaScript库。

使用Scriptmanager也是一个选项。

+0

我认为这是一个选项,当你必须做一些非常棘手的事情,但我不会在这种情况下使用它。 – bloparod 2010-05-19 17:03:47

+0

谢谢,这是我正在寻找的解决方案。使用'

2

Response.Write("<script language='javascript'>alert('You pressed Me!');</script>");

+0

试试这个。这将是工作 – john 2017-02-02 13:42:25