Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 从ajax在自定义服务器控件上引发事件?_Asp.net_Ajax_Events_Custom Controls_Custom Server Controls - Fatal编程技术网

Asp.net 从ajax在自定义服务器控件上引发事件?

Asp.net 从ajax在自定义服务器控件上引发事件?,asp.net,ajax,events,custom-controls,custom-server-controls,Asp.net,Ajax,Events,Custom Controls,Custom Server Controls,我有一个自定义服务器控件,它被添加到许多不同的asp.net页面(它生成一个blueimp jquery文件上传插件) 如何从javascript/ajax在该服务器控件上引发事件?还是来自http处理程序? 在jquery文件上传使用ajax将一些文件发布到HTTP处理程序之后,我想在该控件上引发一个OnFileUploaded事件 编辑-除了Dalorzo的答案外: 我使用了@Dalorzo编写的代码。 然后我不得不像这样发回我的控制对象: myctrlPostBackEventRefere

我有一个自定义服务器控件,它被添加到许多不同的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)
执行它


然后我仍然有一个问题,我想阻止完整的页面呈现,所以我使用了相同的方法,但我发布回一个“虚拟”updatepanel作为目标。更新面板引发了所需控件上的事件(我已将所需控件id作为_事件参数(GetPostBackEventReference的第二个参数)发送)用于更新面板以区分实际引发的事件。

您需要实现
IPostaBackEventHandler
和/或
IScriptControl
类似的功能:

[ToolboxData("<{0}:ComboBox runat=server></{0}:ComboBox>")]
public class ComboBox : DropDownList, IScriptControl, IPostBackEventHandler 
{

如果我妻子没有杀了我,我稍后会回来提供更多细节:DThank you,但我不想回发,应该通过ajax或jquery插件将文件发送到的http处理程序来完成:(
  // Defines the Change event. 
  public event EventHandler Change;

  //Invoke delegates event Change. 
  protected virtual void OnChange(EventArgs e) {

     if (Change != null) {
        Change(this, e);
     }   
  }

  // Implements IPostBackEventHandler that raises the change events. 
  public void RaisePostBackEvent(string eventArgument){
     OnChange(new EventArgs());
  }