asp.net - 注册启动脚本控制

标签 asp.net javascript controls

我希望制作一个 Web 控件,可以在其中与我的 aspx 内联注册客户端启动脚本,因为我讨厌在代码隐藏中注册!

到目前为止我所拥有的示例:

<Ben:StartupScript runat="server">

    var form = document.getElementById("<% =form1.ClientID %>");

</Ben:StartupScript>

目前,我正在覆盖 OnPreRender控件的方法,将控件的内容呈现为字符串,然后使用 ClientScript.RegisterStartupScript 手动将该字符串注册为启动脚本关于Page 。我还覆盖了 Render方法以便不渲染控件。我还应该注意,我有 ParseChildren属性设置为 falsePersistChildren属性设置为 true .

一切似乎都运行良好,但我的控件允许其中包含其他 Web 控件(例如 Button)。除了不直观之外,这还可能导致运行时错误。我希望能够清除控件,但这是不可能的,因为 <% ... %>代码块。

那么,是否可以阻止开发人员嵌入子控件,同时仍然允许代码块?

此外,这个想法好还是有根本缺陷?哈哈。

非常感谢,

最佳答案

这听起来是个好主意,但如果你花太多时间与继承/默认行为作斗争,那么它可能会带来更多麻烦,而不是值得

如果这是一次性问题,一种廉价的解决方案是直接将脚本嵌入到母版页的标题中;-)

另一方面,允许开发人员将自己的脚本嵌入为 Web 控件的子级可能会很有用

关于asp.net - 注册启动脚本控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/326460/

相关文章:

javascript - 如何防止未经身份验证的用户在 LoopBack 2.0 中创建新用户?

delphi - 有没有办法获取容器控件上的所有控件?

asp.net - 单元测试 - 用户帐户

c# - ASP.NET 访问 Panel 内的非服务器控件

javascript - 在 asp.net mvc 或 jquery 中刷新时保留类更改

jquery - 为什么调用我的 ASP.NET WebMethod 会调用我的错误处理程序?

Javascript 函数 GetChatURL 未定义

Javascript颜色矩形数组

java - 函数不执行 do-while 循环...不返回 main?

iphone - 音频 Controller 停止按钮