栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

无法获取嵌套在UpdatePanel中的WebControl中的ScriptManager.RegisterStartupScript

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

无法获取嵌套在UpdatePanel中的WebControl中的ScriptManager.RegisterStartupScript

我认为您确实应该使用RegisterStartupscript 的Control重载。

我在服务器控件中尝试了以下代码:

[ToolboxData("<{0}:alertControl runat=server></{0}:alertControl>")]public class alertControl : Control{    protected override void onInit(EventArgs e){        base.onInit(e);        string script = "alert("Hello!");";        scriptManager.RegisterStartupscript(this, GetType(), "ServerControlscript", script, true);    }}

然后在我的页面中,我有:

protected override void onInit(EventArgs e){    base.onInit(e);    Placeholder1.Controls.Add(new alertControl());}

其中Placeholder1是更新面板中的占位符。占位符上还有几个其他控件,包括按钮。

这的行为完全符合您的预期,每次加载页面或导致更新面板更新时,我都会收到一条警告,说“ Hello”。

您可能要查看的另一件事是挂接到在更新面板请求期间触发的某些页面生命周期事件:

Sys.WebForms.PageRequestManager.getInstance()   .add_endRequest(EndRequestHandler);

该PageRequestManager endRequestHandler事件触发每一个更新面板完成其更新时间-这将让你调用一个方法来建立你的控制。

我唯一的其他问题是:

  • 您的脚本实际上在做什么?
  • 大概您可以在页面底部的HTML中看到脚本(恰好在


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/385517.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号