首页 新闻 会员 周边

asp:Button ,点击时先触发后台的方法,再执行js的方法 怎么实现

0
悬赏园豆:20 [已解决问题] 解决于 2023-09-15 18:09

<asp:Button ID="myButton" OnClick="ButtonClicked" OnClientClick="buttonClicked()" Text="触发" runat="server" />

protected void ButtonClicked(object sender, EventArgs e)
{
//方法
}

$(document).ready(function () {
function buttonClicked(event) {
// 在这里执行你的JavaScript方法
alert('Button clicked!');
}
});

点击“触发”按钮的时候,会进后台ButtonClicked方法,但是js方法报错

请问:怎么实现执行完后台方法后立即执行js方法

依米呀的主页 依米呀 | 菜鸟二级 | 园豆:235
提问于:2023-09-14 17:24
< >
分享
最佳答案
0

ButtonClicked方法最后加ScriptManager.RegisterStartupScript(this, GetType(), "buttonClicked", "buttonClicked();", true);然后把开头的OnClientClick这个事件去掉试一下

收获园豆:10
秃头的张大脑袋 | 菜鸟二级 |园豆:212 | 2023-09-14 17:32

不行喔

依米呀 | 园豆:235 (菜鸟二级) | 2023-09-14 17:58
其他回答(3)
0

Page.ClientScript.RegisterStartupScript(GetType(), "MyScript", "<script defer>javascript:buttonClicked();</script>");

收获园豆:5
赤原 | 园豆:397 (菜鸟二级) | 2023-09-14 17:33
0

两种方法:

  1. 使用ScriptManager.RegisterStartupScript方法在后台方法中注册js脚本,让其在页面加载完成后立即执行。
    protected void ButtonClicked(object sender, EventArgs e) { // 后台方法逻辑 // 注册js脚本 string script = "<script type='text/javascript'>buttonClicked();</script>"; ScriptManager.RegisterStartupScript(this, GetType(), "ButtonClickedScript", script, false); }
  2. 使用Page.RegisterStartupScript方法在后台方法中注册js脚本,让其在页面加载完成后立即执行。
    protected void ButtonClicked(object sender, EventArgs e) { // 后台方法逻辑 // 注册js脚本 string script = "<script type='text/javascript'>buttonClicked();</script>"; Page.ClientScript.RegisterStartupScript(GetType(), "ButtonClickedScript", script); }
收获园豆:5
码一码ba | 园豆:152 (初学一级) | 2023-09-14 18:29
0



WPS AI 提供

快乐的凡人721 | 园豆:3922 (老鸟四级) | 2023-09-14 19:48
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册