代码之家  ›  专栏  ›  技术社区  ›  Andre Pena

如何强制UpdatePanel中的按钮返回完整帖子?

  •  67
  • Andre Pena  · 技术社区  · 15 年前

    如何强制UpdatePanel中的按钮返回完整帖子?

    5 回复  |  直到 7 年前
        1
  •  82
  •   Thibault Falise    15 年前

    你可以使用 Triggers 属性来注册触发完全回发的操作。

    添加一个 PostBackTrigger 对象,包含需要触发完整回发的控件的控件ID。

    <asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
        <ContentTemplate>
            ...
        </ContentTemplate>
        <Triggers>
            <asp:PostBackTrigger ControlID="myFullPostBackControlID" />
        </Triggers>
    </asp:UpdatePanel>
    
        2
  •  46
  •   EvilDr    9 年前

    只是因为没有其他人加入。在没有上述任何方法的情况下,可以在代码后面的一行代码中执行此操作。把这个放到页面加载:

    Visual Basic

    ScriptManager.GetCurrent(Me).RegisterPostBackControl(myButtonID)
    

    C.*

    ScriptManager.GetCurrent(this).RegisterPostBackControl(myButtonID);
    
        3
  •  12
  •   A G    15 年前

    here :

    使用postbacktrigger控件可以启用updatepanel内的控件来导致回发,而不是执行异步回发。

     <Triggers>
        <asp:PostBackTrigger ControlID="controlID" />
     </Triggers>
    
        4
  •  0
  •   Oystein    9 年前

    我在WebDataGrid中使用ImageButton时遇到了同样的问题。

    我将evildr的行放在webdatagrid的prerender中。干得好!

    for (int i = 0; i < wdgMyData.Rows.Count; i++)
    {
       ScriptManager.GetCurrent(this).RegisterPostBackControl((ImageButton)wdgMyData.Rows[i].Items[3].FindControl("btnDownloadExcel"));
    }
    
        5
  •  0
  •   Ajmal Jamil    7 年前

    这是一个老问题,当一切都在 更新面板 你想做完整的回帖 文档。就绪 代码在单击时工作。

    1。 在“更新”面板外创建一个虚拟按钮,然后从代码后面单击它,如下所示

    ScriptManager.RegisterStartupScript(Page, this.GetType(), "ResetDoc", "ResetDocumentReady();", true);
    

    2。 像这样在前端定义函数

    function ResetDocumentReady() {
            $("[id$=DummyButton]").click();
        }
    

    注意:但最好的方法是使用触发器,@thibault falise发布的答案 :)

    推荐文章