【发布时间】:2014-05-18 16:42:22
【问题描述】:
我有一个自定义服务器控件,它添加到许多不同的 asp.net 页面(它生成一个 blueimp jquery 文件上传插件)。
如何通过 javascript/ajax 在该服务器控件上引发事件?还是来自 http 处理程序? 在 jquery 文件上传使用 ajax 将一些文件发布到 HTTP 处理程序之后,我想在该控件上引发 OnFileUploaded 事件?
编辑 - 除了 Dalorzo 的回答:
我使用了@Dalorzo 编写的代码。 然后我不得不像这样回发到我的控件作为目标:
myctrlPostBackEventReference = Page.ClientScript.GetPostBackEventReference(myCtrl, "");
ScriptManager.RegisterStartupScript(Page, Page.GetType(), "initMyClientVariable", "var postBackEventReference=\"" + myctrlPostBackEventReference + "\";", true);
并在我的 javascript 文件中添加:
eval(postBackEventReference)
执行它。
然后我仍然有一个问题,我想阻止整页呈现,所以我使用了相同的方法,但我将目标返回到一个“虚拟”更新面板。更新面板引发了我所需控件上的事件(我已将所需控件 ID 作为 __EVENTARGUMENT(GetPostBackEventReference 的第二个参数)发送给更新面板以区分实际应该引发哪个事件。
【问题讨论】:
标签: asp.net ajax events custom-controls custom-server-controls