AsyncPostBackTrigger& PostBackTrigger?

时间:2011-02-06 09:57:16

标签: asp.net triggers

AsyncPostBackTrigger& PostBackTrigger?

4 个答案:

答案 0 :(得分:10)

这是一个解释差异的blog post

  

在模板中   更新面板,有选项   AsyncPostBackTrigger或   PostBackTrigger。

     

默认情况下,控件外部   更新面板将触发正常   同步回发。该   AsyncPostBackTrigger“连接”这些   控件触发异步   回帖。相反,控制   在更新面板内声明   触发异步调用   默认。 PostBackTrigger简称   电路,并强制控制   做同步回复。

答案 1 :(得分:10)

默认情况下,UpdatePanel内部的控件导致部分页面更新,外部控件导致回发,使用这些触发器可以根据需要更改此行为。

来自http://seminaarit.codezone.fi/video/devdays-2007/track1/2/2-ASP-dotNET_AJAX_Extensions.ppt

AsyncPostBackTrigger

  • 将回发转换为异步回调
  • 通常用于在UpdatePanel回拨之外的控件时触发更新
  • 如果ChildrenAsTriggers =“false”,可用于指定UpdatePanel内的哪些控件应回调而不是回发

PostBackTrigger

  • 让UpdatePanel内的控件回发。
  • 通常用于允许某些控件在ChildrenAsTriggers =“true”
  • 时回发

答案 2 :(得分:6)

<强> 1。 AsyncPostBackTrigger

它是强制Asynchonous帖子回页面的那个,即AJAX方式。数据将在没有完整回发的情况下进行交易。当您使用登录等功能时,您可以使用此功能。

实施例。你有两个dropDowns即国家和国家。选择国家时应加载州,并在国家更改时更改。

您可以在此方案中使用AsyncPostBackTrigger,它将填充状态ddl而不会回发完整。

<强> 2。 PostBackTrigger

它不是遵循AJAX功能,而是通常返回完整的帖子(不使用UpdatePanel)。在那里您不想执行部分邮寄(如上文第1点所述)。

就像你有FileUpload Control使用UpdatePanel一样,当你通过AsyncPostBack执行它时,你将不会获得任何服务器值。它需要Full PostBack。在这种情况下,你应该使用这个触发器。

答案 3 :(得分:1)

假设Button1位于“更新”面板中,而Button2位于更新面板之外。 现在让我们不要忘记更新面板外部的控件正在执行Asyncpostback,并且在内部创建了一个Syncpostback。

因为两个按钮都位于Update面板内的表单Button1上,而bUtton2位于它之外。 顺便说一句,通过将Button2的ID及其事件名称提供给示例中给出的Asyncpostback Trigger,我们假设现在它将像update1一样创建一个与updatepanel同步的后缀。