Greetings, 如何在使用C#的代码中在asp.net中编写JavaScript代码。 例如, 我点击按钮的事件,当我点击我要调用该Java脚本代码的按钮:如何在asp.net代码中使用C编写javascript代码#
alert("You pressed Me!");
我想知道如何使用Java脚本代码后面。
谢谢;
Greetings, 如何在使用C#的代码中在asp.net中编写JavaScript代码。 例如, 我点击按钮的事件,当我点击我要调用该Java脚本代码的按钮:如何在asp.net代码中使用C编写javascript代码#
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方法中编写此代码。
谢谢,我还需要为SystemManager.Web.UI添加ScriptManager前缀。我的VS2013项目中已经引用了System.Web.Extensions。 – John 2014-02-19 00:34:06
看看ScriptManager类'RegisterClientScriptBlock和RegisterStartupScript方法。
喜欢的东西:
btnSomething.ClientClick = "alert('You pressed me!');";
您还可能要对ScriptManager控件和脚本的输出块阅读起来。
正确的答案通常是“你不要”。最好在.js文件中定义代码并使用jQuery来连接所需的事件。
$(document).ready(function() {
$('#myBtn').click(function() {
alert('Handler for .click() called.');
});};
如果你想注册,将在与UpdatePanel
(AJAX)一起使用的脚本中使用ScriptManager
类为撒尼Huttunen指出。 否则应该使用的类ClientScriptManager(方法Page.ClientScript.RegisterClientScriptBlock或Page.ClientScript.RegisterStartupScript)
作为其他用户指出,通常在后面可以将代码注册脚本,应该避免。这不是一个很好的做法,只有在没有其他选择的情况下才应该这样做。
一种方式把一些JavaScript到页面到一个特定的位置做到这一点:
ASP.Net
<script type="text/javascript">
<asp:Literal id="litScript" runat="server" />
</script>
C#
litScript.Text = "alert("Hello!");"
当然,你可以把任何东西那里,我会推荐一个JavaScript库。
使用Scriptmanager也是一个选项。
我认为这是一个选项,当你必须做一些非常棘手的事情,但我不会在这种情况下使用它。 – bloparod 2010-05-19 17:03:47
谢谢,这是我正在寻找的解决方案。使用'
Response.Write("<script language='javascript'>alert('You pressed Me!');</script>");
试试这个。这将是工作 – john 2017-02-02 13:42:25
我建议考虑使用jQuery库,而不是纯JavaScript的。 – 2010-05-17 10:59:07
@大卫。两者适用相同的原则。毕竟,jQuery只是JavaScript。 – Armstrongest 2010-05-17 17:11:12
的确如此 - 但对于以JavaScript开始的人来说,如果他们使用jQuery,他们经常会发现他们的开发更容易。只是传播这个词:) – 2010-05-17 19:33:30