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

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

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

alert("You pressed Me!"); 

我想知道如何使用代码背后的java脚本。

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

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

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

看看ScriptManager类的RegisterClientScriptBlock和RegisterStartupScript方法。

就像是:

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

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

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

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

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

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

ASP.Net

  

C#

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

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

使用Scriptmanager也是一种选择。

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

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

 Response.Write("");