2

我的情况如下:

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

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

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

4

2 回答 2

4

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

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

TextChanged()这将仅在后面的代码中执行后才显示警报。

如果您不在 Page 实例(例如静态库)中,则有这样的代码,假设您在 Page 的上下文中,而不是在某个 HTTP 模块或类似的东西中。

ScriptManager.RegisterStartupScript(HttpContext.Current.Handler as Page, typeof(Page), "text_changed", "alert('Text was changed');", true);
于 2013-09-16T07:13:28.330 回答
1

在要执行脚本的文本更改函数中编写以下代码。并将您的 java 脚本函数名称放在我加粗文本的位置

**>ClientScript.RegisterStartupScript(this.GetType(), "Javascript","JavaScriptFunctionName()", true);**
于 2013-09-16T07:41:01.280 回答