【问题标题】:How to call javascript function from code behind?如何从后面的代码调用javascript函数?
【发布时间】:2009-11-05 08:55:58
【问题描述】:

我想从页面后面的代码中执行 javascript 函数。

我有两种方法,首先我可以在后面的代码中调用 html 页面的 javascript。

第二个是我可以在我的代码后面写javascript函数。

但我不是哪个更好,我该怎么做。

请告诉我该怎么做。

【问题讨论】:

  • 我真的无法理解你的问题!

标签: asp.net javascript


【解决方案1】:
ScriptManager.RegisterStartupScript(...)

查看here了解详情

【讨论】:

  • 谢谢!我启用了部分渲染并且不使用 ScriptManager 导致一切停止工作。差点把我逼疯了。
【解决方案2】:

您可以将 Js 函数作为注册在代码隐藏本身上的脚本来调用。

Page.RegisterStartupScript("key","value")

key 是你想给脚本起的名字,例如。 “页面关闭” 价值是;

stringBuilder str = new StringBuilder()
str.Append("<script = language='javascript'>");
str.Append("window.close();");
str.Append("</script>")

在这里而不是使用 window.close 你可以将你的 js 函数附加为一个字符串,理想情况下,我把这个字符串生成器类放在构造函数中,如果我需要它总是在页面中

然后在要执行脚本的事件处理程序中使用这个

Page.RegisterStartUp("PageClose",str.ToString());

这会将 javascript 放在所呈现页面的结束标记之前

Page.ClientScriptBlock("PageClose",str.ToString());

这会将 JS 函数放置在所呈现页面的开始标记之后

希望对你有帮助

【讨论】:

  • StringBuilder str = new StringBuilder(); str.Append(""); Page.RegisterStartupScript("PageClose", str.ToString());我正在使用这个。但它不起作用
  • 我想在页面加载时在 chooseStyle 中设置值 colr 和 wd。但现在它不起作用
【解决方案3】:

在您的代码隐藏中尝试以下操作

ClientScript.RegisterStartupScript(GetType(), "scrptName", "javascript: alert('hi'); ", true);

你可以替换 alert('hi');使用您想要从后面的代码调用的 javascript 函数。

【讨论】:

  • GetType()和scrptName是什么意思
  • RegisterStartupScript (type, key, script) 这里 GetType() 返回页面的类型。而 scrptName 是关键。
  • msdn.microsoft.com/en-us/library/…查看此链接了解更多详情。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多