如何使用C#在代码后面的asp.net中编写javascript

时间:2010-05-17 10:48:58

标签: c# asp.net javascript

如何在使用C#的代码中编写asp.net中的JavaScript代码?

例如: 当我单击要调用此java脚本代码的按钮时,我有单击按钮事件:

alert("You pressed Me!"); 

我想知道如何从代码中使用java脚本。

8 个答案:

答案 0 :(得分:17)

实际上,这就是你所需要的:

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

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

答案 1 :(得分:12)

查看ScriptManager类的'RegisterClientScriptBlockRegisterStartupScript方法。

答案 2 :(得分:7)

不是答案,而是建议。 在你的代码隐藏中混合你的js会回来困扰你,我同意Adrian Magdas的看法。 无论何时您需要对您的javascript进行简单的更改/更新,您都必须重新构建项目,这意味着重新部署而不是简单地推出单个.js文件。

答案 3 :(得分:6)

类似的东西:

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

您可能还想阅读ScriptManager控件并输出脚本块。

答案 4 :(得分:6)

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

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

答案 5 :(得分:6)

将一些javascript放到页面上的特定位置的一种方法是:

ASP.Net

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

C#

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

当然,你可以放任何东西,我推荐一个javascript库。

使用Scriptmanager也是一种选择。

答案 6 :(得分:3)

如果要注册一个将与UpdatePanel(AJAX)一起使用的脚本,请使用ScriptManager类,如Sani Huttunen指出的那样。 否则,您应该使用课程ClientScriptManager(方法Page.ClientScript.RegisterClientScriptBlockPage.ClientScript.RegisterStartupScript

正如其他用户指出的那样,通常在后面的代码上注册脚本可以而且应该避免。这不是一个很好的练习,只有在没有其他选择的情况下才能这样做。

答案 7 :(得分:2)

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