如何从Asp.Net Code Behind调用JavaScript函数?

Ant*_*ier 4 javascript c# asp.net webforms

这是我的JavaScript函数:

function WantToSave()
{
    alert('You should save now !');
}
Run Code Online (Sandbox Code Playgroud)

这是我的ASP.NET代码背后:

Page.ClientScript.RegisterStartupScript(this.GetType(), "MyKey", "WantToSave();");
Run Code Online (Sandbox Code Playgroud)

RegisterStartupScript达到了这个功能,这是肯定的.但它不会触发我的JavaScript功能.而第二个参数,它应该是一个"起始脚本的关键"是的,但我应该把它放在那里?

mas*_*son 5

默认情况下,脚本将写入输出但没有<script>标记.如果您使用浏览器的JavaScript控制台或在客户端上查看生成的HTML,您可能会注意到这一点.确保您熟悉这些工具.

你可以让它为你添加脚本标签,方法的重载略有不同.

Page.ClientScript.RegisterStartupScript(this.GetType(), "MyKey", "WantToSave();", true);
Run Code Online (Sandbox Code Playgroud)

或者你可以自己添加:

Page.ClientScript.RegisterStartupScript(this.GetType(), "MyKey", "<script>WantToSave();</script>");
Run Code Online (Sandbox Code Playgroud)

密钥字符串和控件注册类型的组合用于唯一标识已注册的脚本,以防您以后要取消注册或用其他脚本替换它.所以关键不一定要具体,只需要一些独特的东西.

  • @AntoinePelletier正确.密钥字符串和控件注册类型的组合用于唯一标识已注册的脚本,以防您以后要取消注册或用其他脚本替换它.所以关键不一定要具体,只需要一些独特的东西. (3认同)