Sök…


Introduktion

Det här ämnet beskriver hur du lägger till stöd för uppdatering av en del av sidan på en webbsida med två Microsoft Ajax-serverkontroller: ScriptManager-kontrollen och UpdatePanel-kontrollen. Dessa kontroller tar bort kravet på att uppdatera hela sidan med varje postback, vilket förbättrar användarupplevelsen.

Syntax

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

Anmärkningar

En ScriptManager måste läggas till på sidan för att UpdatePanel ska fungera.

Exempel på uppdateringspanel

Steg 1: Lägg till ScriptManager på din sida

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

Steg 2: Lägg till UpdatePanel på din sida strax efter ScriptManager.

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

Steg 3: När du har lagt till innehåll i din UpdatePanels innehållsmall ska din aspx-sida se ut så här:

<%@ 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>

Steg 4: Lägg till den här delen på din C #-sida:

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

Steg 5: Kör nu din ansökan.

Förväntat resultat:

Panelinnehållet ändras varje gång du klickar på knappen, men hela sidan uppdateras inte. Som standard är egenskapen ChildrenAsTriggers i en UpdatePanel-kontroll sann. När den här egenskapen är inställd på sant, deltar kontrollerna inuti panelen i uppdateringar av delvis sida när någon kontroll i panelen orsakar ett efterbehandling.



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow