将动态加载的自定义 ASP 控件的脚本注册到 DOM

2024-01-23

我在 a 期间加载我的 ascx 控件postback(下拉更改事件):

父级 C#:

private void ddlChange() 
{
    MyControl myCtr = (CallScript)Page.LoadControl("~/Controls/MyControl.ascx");
    myCtr.property = "something"; // set public properties
    myCtr.initControl(); // do some database calls
    myCtrPlaceHolder.Controls.Add(myCtr);
}

父级 HTML:

<asp:UpdatePanel>
    <asp:PlaceHolder ID="myCtrPlaceHolder" runat="server"/>
<asp:UpdatePanel/>

自定义控件 C#:

public void initControl() 
{
    // do some db calls first and pass it to client side via ASP controls
    // then dynamically produce html elements within the custom control
    ScriptManager.RegisterStartupScript(Page, typeof(Page), "name", "alert(1); documentReady();", true);} 
    // PROBLEM: page says documentReady() is not defined.
}

自定义控件 HTML:

<script type="text/javascript"> // PROBLEM: this doesn't get registered to DOM
    function documentReady() {
        // load more controls dynamically         
    }
</script>
<div>
<!-- some html buttons and stuff
</div>

父 html 将自定义控件的 HTML 按钮和更新面板中的其他内容加载到占位符中。此外,在每次下拉列表更改时,都会在自定义控件的 C# 中进行正确的数据库调用。我还可以看到由自定义控件的 C# 生成的测试警报。然而,自定义控件的脚本没有以某种方式注册到 DOM,所以我无法调用documentReady();回发后。

帮助我吧。

Please.

Thanks.

PS:到目前为止,我已经尝试以非动态方式创建自定义控件。我尝试创建一个 js 文件并将自定义控件的所有 js 代码放在那里并在父 HTML 中调用它。这听起来很有希望,但我正在尝试将东西包装在单个自定义 ASP 控件中。我已经用过RegisterStartupScript在父母的 C# 中,如果运气不好的话,还有一些其他的东西。


看起来除了使用之外,没有其他方法可以将 ascx 中的脚本注册到页面RegisterStartupScript这会放弃可维护性或将脚本编辑为 javascript 库并放弃 ascx。我解决了我的问题摆脱我的 UpdatePanel并牺牲了页面性能。我的自定义控件在非回发加载期间加载,并且我摆脱了下拉更改中的逻辑。

我想是时候采用 AngularJS 了……

干杯吧!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将动态加载的自定义 ASP 控件的脚本注册到 DOM 的相关文章

  • 如何处理 setTimeout() 的多个实例?

    阻止创建 setTimeout 函数的多个实例 在 JavaScript 中 的最推荐 最佳方法是什么 一个例子 伪代码 function mouseClick moveDiv div 0001 mouseX mouseY function
  • iPhone 上的全屏视频播放器是否有“onClose”事件?

    我在网站上使用 html5 视频播放器 当用户开始播放时 播放器进入全屏模式并播放视频 视频结束后 我看到ended事件并通过关闭视频播放器myvideo webkitExitFullScreen 现在 当玩家实际获得时我需要另一个事件cl
  • IE9 中的无效字符 DOM 异常

    以下这段 JS 曾经在 IE8 中工作 现在在 IE9 中失败 document createElement 我收到以下异常 SCRIPT5022 DOM 异常 INVALID CHARACTER ERR 5 上面这段代码是不是不符合标准呢
  • 电子邮件模板中的剪贴板功能

    我想在电子邮件模板中发送优惠券代码 一个小按钮 用于复制剪贴板上输入元素的内容 通过电子邮件模板 我的意思是我想发送一封电子邮件 其中包含优惠券代码 并且电子邮件模板中会有一个按钮 允许我将其复制到剪贴板 这可以做到吗 任何帮助将不胜感激
  • 如何使 4.X Typescript 项目与旧版本的 Typescript(如 3.X)兼容?

    如何使基于 TS 4 X 构建的软件包与 3 X 兼容 例如 如果我有较新的版本 则使用新功能 否则使用any or unknown或旧版本支持的任何内容 有没有可能使用指令 https www typescriptlang org doc
  • 如何在 C 预处理器中可靠地检测 Mac OS X、iOS、Linux、Windows? [复制]

    这个问题在这里已经有答案了 如果有一些跨平台 C C 代码需要在 Mac OS X iOS Linux Windows 上编译 我如何在预处理器过程中可靠地检测到它们 大多数编译器都使用预定义的宏 您可以找到列表here http sour
  • redux - 如何存储和更新键/值对

    我正在使用 redux 和 React js 我想存储简单的键 值对 但无法获得正确的减速器语法 在这种情况下 每个键 值对将保持与外部系统的连接 这是正确的做法吗 我刚开始使用 redux 所以这有点神秘 export default s
  • Xamarin.Android JmDNS 绑定问题

    我开始研究 Xamarin Android 的 JmDNS 绑定 我设法构建了绑定 但无法从代码中引用它 https github com ytn3rd monodroid bindings tree master JmDNS https
  • C# 或 Windows 相当于 OS X 的 Core Data?

    我迟到了 现在才开始在 OS X Cocoa 中使用 Core Data 它令人难以置信 并且确实改变了我看待事物的方式 C 或现代 Windows 框架中是否有等效的技术 即拥有可免费保存 数据管理 删除 搜索的托管数据类型 还想知道Li
  • 从函数在 python 3 中创建全局变量

    我想知道为什么在函数结束后我无法访问变量 variable for raw data 代码是这样的 def htmlfrom Website URL import urllib request response urllib request
  • 来自资源中 ImageSource 的 System.Drawing.Image

    我的问题与这个非常相似 wpf图像资源以及运行时在wpf控件中更改图像 https stackoverflow com questions 940592 wpf image resources and changing image in w
  • javascript从字符串创建不区分大小写的正则表达式

    我试图通过以不区分大小写的方式将输入与正则表达式匹配来进行验证 正则表达式作为对象上的字符串从服务中下来 我可能会得到类似的东西 regex ane 我可以执行以下操作 var rx new RegExp object regex The
  • 如何更改数据表中标题单元格的内容?

    我正在使用数据表 http datatables net plugin 在我的可排序列上 我想用按钮替换列文本 但是这样做 oSettings aoColumns i nTh text 我可以检索相应列的文本 但是 oSettings ao
  • HTML 标签在 Ionic 5 警报文本中不起作用

    我已将以下代码从 Ionic 3 迁移到 Ionic 5 const alert await this alertCtrl create subHeader About b this user name b message Test Mes
  • 如何在您的网站中连接两个人

    有一款名为 Verbosity 的游戏 这是一款有目的的游戏 位于此链接上www gwap com 在游戏中 他们随机连接两个玩家互相玩 游戏是玩家1应该向他的搭档 玩家2 描述一个单词 而玩家2应该猜测这个单词 我正在尝试建立一个网站来执
  • 为什么 phantomjs 不能在 MacOS Sierra 中工作?

    我们正在使用phantomjs 1 9 1 macosx phantomjs 2 0 0 macosx哪一个工作得很好OS X 埃尔卡皮坦更新后macOS 塞拉利昂它会引发以下错误 phantomjs 1 9 1 macosx phanto
  • Asp.net 动态验证器在 Chrome 或 Safari 中不起作用

    好的 我正在动态创建 Asp net 验证控件并将它们插入到更新面板中 验证在 IE 和 Firefox 中有效 但在 Chrome 或 Safari 中无效 这是 aspx 文件 不要问我为什么不使用按钮服务器控件
  • 尽管 getBoundingClientRect() 是假的,但如何将事件坐标转换为 SVG 坐标?

    我正在尝试根据鼠标的位置在 SVG 元素上动态绘制内容 不幸的是 我很难将 mousemove 事件中的鼠标坐标转换为 SVG 元素的坐标空间 这是我一直在测试的一个有缺陷的函数 CylinderDemo prototype handleM
  • 用于替换前 5 个数字的正则表达式,无论它们之间有什么?

    我正在努力实现以下匹配 Input 123 45 6789 123456789 1234 正则表达式尝试输出 d 5 123 45 6789 123456789 1234 d 2 3 123 45 6789 123456789 1234 d
  • 清理 TPL 中的 CallContext

    根据我使用的是基于 async await 的代码还是基于 TPL 的代码 我在逻辑清理方面得到了两种不同的行为CallContext 我可以设置和清除逻辑CallContext如果我使用以下异步 等待代码 正如我所期望的 class Pr

随机推荐

  • 使用假 mongoDB 进行 pytest 测试

    我有连接到 MongoDB 客户端的代码 我正在尝试测试它 为了进行测试 我不想连接到实际的客户端 因此我试图找出一个假客户端来进行测试 代码的基本流程是我在某处有一个函数创建一个pymongo客户端 然后查询并创建一个在其他地方使用的字典
  • 发布 Android 应用程序后,谷歌地图不显示?

    朋友们 在使用模拟器在 Eclipse 上测试应用程序时 谷歌地图可以正确显示 但是当我导出应用程序来发布它时 谷歌地图不见了 谁能指导我我犯了什么错误 任何帮助 将不胜感激 当您导出应用程序以发布它时 您可能不再使用调试密钥库 而是使用自
  • UIBezierPath 未绘制平滑曲线

    我正在使用 UIBezierPath 进行绘图 并且我已经编写了关于触摸事件的代码并且其工作正常 但是我的曲线不平滑 当我移动手指并绘制一些曲线时 它们不平滑 void drawRect CGRect rect UIColor redCol
  • npm WARN 已弃用 [email protected]:core-js@<3 不再维护,由于问题数量较多,不建议使用

    我在创建新的 Angular 应用程序时遇到以下错误 npm 警告已弃用 电子邮件受保护 cdn cgi l email protection core js 我尝试了下面链接中给出的解决方案 但它对我不起作用 错误 请将您的依赖项升级到
  • 查找未注册任何课程的学生姓名 - 学生、教师、课程、课程、已注册

    根据下面的数据库 使用关系代数投影出未注册课程的学生的姓名 Students snum sname major standing age gpa Faculty fid fname deptid Courses cnum cname cou
  • Java中如何对字符串进行加密

    我需要的是加密将显示在二维条形码 PDF 417 中的字符串 这样当有人想扫描它时 它就不会可读 其他需求 不应该很复杂 它不应该由 RSA PKI 基础设施 密钥对等组成 它必须足够简单 以消除人们的窥探 并且对于有兴趣获取该数据的其他公
  • 修改python-docx中paragraph.style._element.xml中的XML

    我想修改边框的颜色 我通过调用获取它的 XMLstyle element xml gt gt gt document Document gt gt gt run document add heading u 0 add run hello
  • Android 6 异常(谷歌地图?)

    我在 firebase 崩溃报告中遇到异常 但不明白异常原因 应用程序在 Android 5 上运行良好 Exception java lang IllegalAccessError Method java lang Object ade
  • 在 Python 中迭代 XML 标签并获取元素的 xpath

    我想迭代 XML 文档中的每个 p 标签 并能够获取当前元素的 xpath 但我没有找到任何可以做到这一点的东西 我尝试过的代码类型 from bs4 import BeautifulSoup xml file open data xml
  • 彗星服务器选择问题

    我想写一个使用comet技术进行实时更新的php网站 我有几个问题 使用彗星服务器更好吗 彗星服务器哪家好 对于comet服务器 例如orbited 我必须首先安装基于python的orbited服务器 然后编写php文件来创建套接字以连接
  • 使用 fftw 和窗函数生成正确的频谱图

    对于一个项目 我需要能够从 WAV 文件生成频谱图 我读过以下应该做的事情 获取N 变换大小 个样本 Apply a window http en wikipedia org wiki Window function功能 使用样本进行快速傅
  • 将 CancellationToken 传递给任务类构造函数有什么用?

    以下是创建模拟长时间运行流程的新任务的示例代码 该任务本身并没有太多内容 只是专注于取消功能 我正在使用取消令牌来取消任务 并且代码对我来说工作正常 CancellationTokenSource CTS new CancellationT
  • 使用 VBA 在 Excel 中选择形状

    我正在尝试使用 VBA 按名称选择形状 在我的工作表中 我有 10 个形状 名称分别为 1 到 10 并且想要一个特定的形状 由于某种原因 excel 使用我的代码选择的形状似乎不是我告诉它选择的名称的形状 据我所知 它选择的形状是随机的
  • 无法将“Vary”标头附加到响应中

    我正在尝试添加一个Vary Accept Encoding我压缩的文件的响应头 正如之前所建议的 https stackoverflow com questions 7848796 what does varyaccept encoding
  • 根据任意分布设置 Eigen::Matrix 的系数

    Eigen Matrix 有一个 setRandom 方法 它将矩阵的所有系数设置为随机值 但是 是否有一种内置方法可以将所有矩阵系数设置为随机值 同时指定要使用的分布 有没有办法实现类似以下内容 Eigen Matrix3f myMatr
  • SqlDependency 仅在订阅时触发

    我正在尝试利用SqlDependancy在 SignalR 项目中 但我似乎无法得到OnChanged事件多次触发 它最初在订阅事件上触发 但在对底层数据库进行更改后不会再次触发 我省略了 SignalR 和控制器代码 因为问题似乎出在存储
  • PHP 引导基础知识

    我正在编写我的第一个 PHP 应用程序 每个人都谈论拥有一个bootstrap php初始化您的应用程序 这是有道理的 我已经整理了一个我很满意的 有两件事我不明白 而且似乎没有人提到 我在哪里调用我的引导表单 我是否将其包含在每个页面中
  • C++ 中的 IPv6 连接测试

    是否有任何 C 函数可以测试运行我的程序的计算机是否支持 IPv6 连接 我需要知道类似此页面的结果http test ipv6 com http test ipv6 com 但是在 C 中 EDIT 我试图使用getifaddrs 但返回
  • 如何从 FTP 获取文件(使用 C#)?

    现在我知道如何将文件从一个目录复制到另一个目录 这非常简单 但现在我需要对 FTP 服务器上的文件执行相同的操作 你能给我一些如何在更改文件名的同时从 FTP 获取文件的示例吗 看一眼如何 使用 FTP 下载文件 http msdn mic
  • 将动态加载的自定义 ASP 控件的脚本注册到 DOM

    我在 a 期间加载我的 ascx 控件postback 下拉更改事件 父级 C private void ddlChange MyControl myCtr CallScript Page LoadControl Controls MyCo