Szukaj…


Wprowadzenie

W tym temacie opisano, jak dodać obsługę częściowej aktualizacji strony internetowej za pomocą dwóch kontrolek serwera Microsoft Ajax: kontrolki ScriptManager i kontrolki UpdatePanel. Te elementy sterujące usuwają wymóg odświeżania całej strony przy każdym opóźnieniu zwrotnym, co poprawia komfort użytkowania.

Składnia

  • <asp: UpdatePanel ID = "UpdatePanel1" runat = "server">
    </ asp: UpdatePanel>

Uwagi

Do strony należy dodać ScriptManager, aby UpdatePanel działał.

Przykład panelu aktualizacji

Krok 1: Dodaj ScriptManager do swojej strony

<asp:ScriptManager ID="ScriptManager1" runat="server">
            </asp:ScriptManager>

Krok 2: Dodaj UpdatePanel do swojej strony zaraz po ScriptManager.

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <ContentTemplate></ContentTemplate>
        </asp:UpdatePanel>

Krok 3: Po dodaniu treści do szablonu treści UpdatePanels strona aspx powinna wyglądać mniej więcej tak:

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

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

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
    <style type="text/css">
    #UpdatePanel1 { 
      width:300px; height:100px;
     }
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <div style="padding-top: 10px">
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <ContentTemplate>
                <fieldset>
                <legend>UpdatePanel</legend>
                <asp:Label ID="Label1" runat="server" Text="Panel created."></asp:Label><br />
                <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
                </fieldset>
            </ContentTemplate>
        </asp:UpdatePanel>
        <br />
        </div>

    </div>
    </form>
</body>
</html>

Krok 4: Dodaj tę część do swojej strony C #:

protected void Button1_Click(object sender, EventArgs e)
{
    Label1.Text = "Refreshed at " +
        DateTime.Now.ToString();
}

Krok 5: Teraz uruchom aplikację.

Spodziewany wynik:

Zawartość panelu zmienia się za każdym razem, gdy klikniesz przycisk, ale cała strona nie jest odświeżana. Domyślnie właściwość ChildrenAsTriggers kontrolki UpdatePanel ma wartość true. Gdy ta właściwość jest ustawiona na wartość true, formanty wewnątrz panelu uczestniczą w częściowych aktualizacjach strony, gdy jakakolwiek formant w panelu powoduje odsyłanie zwrotne.



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow