如何使用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("");