我的情况如下:
我的aspx页面上有OnTextChanged
事件处理程序,从代码隐藏调用TextChanged()
方法。现在,我需要在TextChanged()
方法的末尾运行一个javascript脚本。我怎样才能做到这一点? ScriptManager
是否有任何方法只会在我更改文本框中的文本时执行脚本?
我可能是一个重复的问题,但我无法找到有关脚本管理器是否有任何方法在注册后立即运行脚本的信息。
实际问题是,我需要在TextChanged()方法的末尾放置一个脚本,脚本只需要将焦点从一个html元素设置为另一个。
答案 0 :(得分: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);
答案 1 :(得分:1)
在下面的代码中写入要在其中执行脚本的文本更改函数。并将您的java脚本函数名称放在我加粗文本的位置
**>ClientScript.RegisterStartupScript(this.GetType(), "Javascript","JavaScriptFunctionName()", true);**