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

Eyl*_*yla 14 javascript c# asp.net

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

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

alert("You pressed Me!"); 
Run Code Online (Sandbox Code Playgroud)

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

Tri*_*ung 17

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

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

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


San*_*nen 12

看看ScriptManager类的RegisterClientScriptBlockRegisterStartupScript方法.


Jus*_*tin 7

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


Pad*_*ddy 6

就像是:

btnSomething.ClientClick = "alert('You pressed me!');";
Run Code Online (Sandbox Code Playgroud)

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


Adr*_*das 6

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

$(document).ready(function() {  
 $('#myBtn').click(function() {
  alert('Handler for .click() called.');
});};
Run Code Online (Sandbox Code Playgroud)


Arm*_*est 6

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

ASP.Net

<script type="text/javascript">
<asp:Literal id="litScript" runat="server" />
</script>
Run Code Online (Sandbox Code Playgroud)

C#

litScript.Text = "alert("Hello!");"
Run Code Online (Sandbox Code Playgroud)

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

使用Scriptmanager也是一种选择.