如何在使用C#的代码中编写asp.net中的JavaScript代码?
例如: 当我单击要调用此java脚本代码的按钮时,我有单击按钮事件:
alert("You pressed Me!");
我想知道如何从代码中使用java脚本。
答案 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类的'RegisterClientScriptBlock和RegisterStartupScript方法。
答案 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.RegisterClientScriptBlock或Page.ClientScript.RegisterStartupScript)
正如其他用户指出的那样,通常在后面的代码上注册脚本可以而且应该避免。这不是一个很好的练习,只有在没有其他选择的情况下才能这样做。
答案 7 :(得分:2)
Response.Write("<script language='javascript'>alert('You pressed Me!');</script>");