c# - C# 是否有任何方法可以在按下按钮时执行 Javascript 函数?

标签 c# javascript asp.net scriptmanager

我的情况如下:

我的 aspx 页面上有 OnTextChanged 事件处理程序,它从代码隐藏中调用 TextChanged() 方法。现在,我需要在该 TextChanged() 方法末尾运行一个 javascript 脚本。我怎样才能做到这一点? ScriptManager 是否有任何方法,只有当我更改文本框中的文本时才会执行脚本?

我可能是一个重复的问题,但我找不到脚本管理器是否有任何方法可以在注册后立即运行脚本的信息。

实际的问题是,我需要在 TextChanged() 方法的末尾放置一个脚本,并且该脚本只需将焦点从一个 html 元素设置到另一个即可。

最佳答案

您可以简单地在其后面的代码中发送所需的 JavaScript:

public void TextChanged(object sender, EventArgs e)
{
    //...
    this.ClientScript.RegisterStartupScript(this.Page.GetType(), "text_changed", "alert('Text was changed');", true);
}

只有在后面的代码中执行 TextChanged() 后才会显示警报。

如果您不在页面实例(例如静态库)中,则假设您位于页面上下文中而不是某些 HTTP 模块或类似内容中,则具有此类代码。

ScriptManager.RegisterStartupScript(HttpContext.Current.Handler as Page, typeof(Page), "text_changed", "alert('Text was changed');", true);

关于c# - C# 是否有任何方法可以在按下按钮时执行 Javascript 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18822218/

相关文章:

c# - 使用 DTO 保持 DRY

c# - 如何使用 Selenium WebDriver 和 C# 查询 iFrame 内部元素的innerHTML?

c# - WebAPI验证

html - Asp 菜单隐藏在 asp 下拉菜单后面

c# - 如何使用 linq 验证用户名/密码?

c# - 如何使图像与页面选项卡居中?

javascript - 推送到数组中 undefined index

javascript - 在JS中选择下拉列表中的多个输入参数

使用 Firefox Mobile 进行 JavaScript 注入(inject)

asp.net - 布局 View 中的 Roles.GetRolesForUser() 不返回角色