Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.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
C# 动态添加异步回发触发器_C#_Asp.net_Asynchronous - Fatal编程技术网

C# 动态添加异步回发触发器

C# 动态添加异步回发触发器,c#,asp.net,asynchronous,C#,Asp.net,Asynchronous,在代码的Page_Load部分,我正在动态创建一个表单。每行末尾都有一个save按钮,我希望当有人单击行末尾的“save”按钮时,表单能够异步发回。但我似乎无法做到这一点。我点击按钮,什么也没发生。click事件甚至没有触发,所以我猜测触发器没有正确添加。有没有办法让这个功能正常工作 下面是我的代码片段,我相信这就是问题所在 Button submit = new Button(); submit.ID = "Submit_" +

在代码的Page_Load部分,我正在动态创建一个表单。每行末尾都有一个save按钮,我希望当有人单击行末尾的“save”按钮时,表单能够异步发回。但我似乎无法做到这一点。我点击按钮,什么也没发生。click事件甚至没有触发,所以我猜测触发器没有正确添加。有没有办法让这个功能正常工作

下面是我的代码片段,我相信这就是问题所在

                Button submit = new Button();
                submit.ID = "Submit_" + reader["SEQN"];
                submit.Text = "Save";
                submit.Click += submitTest; 


                AsyncPostBackTrigger apt = new AsyncPostBackTrigger();
                apt.ControlID = submit.UniqueID;
                UpdatePanel1.Triggers.Add(apt);

我看到了几件事。将触发器事件设置为要执行的事件:apt.EventName=。第二件事是在最终页面呈现之后,按钮的id是否正确。检查web inspector或firebug中的按钮id值,看看它是否与您为controlid设置的相同

因为我使用的是按钮,所以默认的触发事件是“点击”,这就是为什么我不使用它的原因。当我使用inspect元素通过Chrome查看按钮时生成的ID是“ctl00_TemplateBody_WebPartManager1_gwpste_container_eee_cieee_Submit_131308”。我只注册了“提交”。编辑:我尝试将那个长控件名添加到apt.ControlID中,结果返回一个错误,说找不到它。我的猜测是,它正在查找“Submit_131308”进行注册,但事件仍然没有触发。可以尝试的一件事是,通过设置clientmode=“static”属性,将按钮设置为使用静态id,这当然需要按钮具有页面的唯一id。我经常在不使用纯类选择器的情况下使用jquery客户端工作。