UpdatePanel.Update Metoda

Definicja

Powoduje aktualizację zawartości kontrolki UpdatePanel .

C#
public void Update ();

Wyjątki

Właściwość UpdateMode ma ustawioną wartość Always.

-lub- Metoda Update() jest wywoływana podczas lub po zdarzeniu strony Render(HtmlTextWriter) .

Przykłady

W poniższym przykładzie użyto Update metody w celu zaktualizowania zawartości UpdatePanel kontrolki, gdy upłynęło ponad pięć sekund od ostatniej aktualizacji.

ASP.NET (C#)

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
    protected DateTime LastUpdate
    {
        get
        {
            return (DateTime)(ViewState["LastUpdate"] ?? DateTime.Now);
        }
        set
        {
            ViewState["LastUpdate"] = value;
        }
    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        if (LastUpdate.AddSeconds(5.0) < DateTime.Now)
        {
            UpdatePanel1.Update();
            LastUpdate = DateTime.Now;
        }
    }

    protected void Page_Load(object sender, EventArgs e)
    {

        ScriptManager1.RegisterAsyncPostBackControl(Button1);   
        if (!IsPostBack)
        {
            LastUpdate = DateTime.Now;
        }
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>UpdatePanelUpdateMode Example</title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:ScriptManager ID="ScriptManager1"
                               runat="server" />
            <asp:Panel ID="Panel1"
                       GroupingText="UpdatePanel1"
                       runat="server">
                <asp:UpdatePanel ID="UpdatePanel1"
                                 UpdateMode="Conditional"
                                 runat="server">
                    <ContentTemplate>
                        <p>
                            The content in this UpdatePanel only refreshes if five or more
                            seconds have passed since the last refresh and the button in
                            UpdatePanel2 was clicked. The time is checked
                            server-side and the UpdatePanel.Update() method is called. Last
                            updated: <strong>
                                <%= LastUpdate.ToString() %>
                            </strong>
                        </p>
                    </ContentTemplate>
                </asp:UpdatePanel>
            </asp:Panel>
            <asp:Panel ID="Panel2"
                       GroupingText="UpdatePanel2"
                       runat="server">
                <asp:UpdatePanel ID="UpdatePanel2"
                                 runat="server">
                    <ContentTemplate>
                        <p>
                            This UpdatePanel always refreshes if the button is clicked.
                            Last updated: <strong>
                                <%= DateTime.Now.ToString() %>
                            </strong>
                        </p>
                    </ContentTemplate>
                </asp:UpdatePanel>
            </asp:Panel>
            <asp:Button ID="Button1" Text="Button1" runat="server" OnClick="Button1_Click" />
        </div>
    </form>
</body>
</html>

Uwagi

Jeśli strona jest włączona na potrzeby renderowania częściowego strony, podczas wywoływania Update metody UpdatePanel zawartość kontrolki zostanie zaktualizowana w przeglądarce. Wywołaj metodę Update , jeśli masz kod serwera, który musi zostać wykonany, aby określić, czy kontrolka powinna zostać zaktualizowana UpdatePanel . Jeśli planujesz użyć Update metody , ustaw UpdateMode właściwość na Conditionalwartość . Jeśli chcesz zaktualizować panel w logice serwera, upewnij się, że ChildrenAsTriggers właściwość jest false i że dla panelu nie zdefiniowano żadnych jawnych wyzwalaczy.

W typowym scenariuszu tworzenia strony, jeśli zdefiniujesz wyzwalacze lub jeśli ChildrenAsTriggers właściwość jest true dla kontrolki UpdatePanel , Update metoda jest wywoływana automatycznie podczas cyklu życia strony.

ContentTemplate Jeśli właściwość nie jest zdefiniowana dla kontrolkiUpdatePanel, nie zostaną wykonane żadne aktualizacje panelu.

Dotyczy

Produkt Wersje
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8

Zobacz też