ASP .NET Steuern des Updatepanels von der Repeater-Schaltfläche in einem anderen Updatepanel

Grundsätzlich hat jede Schaltfläche eine Konversations-ID, sodass beim Klicken auf 2 alle Nachrichten aus einer Unterhaltung mit dieser ID erhalten. Aufgrund anderer Funktionen müssen zwei Update-Panels vorhanden sein.

<asp:ScriptManager ID="ScriptManager1" EnablePageMethods="true" EnablePartialRendering="true" runat="server" >
</asp:ScriptManager>
<asp:UpdatePanel runat="server" ID="up1" OnLoad="up1_Load">
    <ContentTemplate>
        <asp:Repeater ID="Repeater1" runat="server">
            <ItemTemplate>
                <asp:Button ID="Button1" runat="server"
                    CommandName="conversationID" 
                    CommandArgument='<%# Eval("conversation_id") %>' />
             </ItemTemplate>
        </asp:Repeater>
    </ContentTemplate>
</asp:UpdatePanel>

<asp:UpdatePanel ID="up2" runat="server">
    <ContentTemplate>
        <asp:Repeater ID="Repeater2" runat="server">
            <ItemTemplate>
                <p><%#Eval("message")%></p>
            </ItemTemplate>
        </asp:Repeater> 
    </ContentTemplate>
</asp:UpdatePanel>

Ich habe versucht, Befehlsargumente im Code dahinter zu übergeben, aber es funktioniert einfach nicht! Kann mich jemand in die richtige Richtung weisen?

Vielen Dank

Ich habe zwei Update-Panels, das erste Update-Panel (up1) enthält ein Repeater-Steuerelement, das einfach eine Tastensteuerung wiederholt. Wenn eine der Schaltflächen in up1 angeklickt wird, möchte ich einfach das zweite Update-Panel (up2) mit einem Paramater aktualisieren, der von der Schaltfläche in up1 übergeben wird.

Antwort auf "ASP .NET Steuern des Updatepanels von der Repeater-Schaltfläche in einem anderen Updatepanel " 2 von antworten

Da UpdatePanel für dynamischen Inhalt (z.B. AJAX) ist, ist der beste Ort, um das zweite Panel zu aktualisieren, im Client (z.B. in JavaScript) und nicht im Code-Behind auf dem Server.

Außerdem ist Ihr Code sauberer, wenn sich keine Codeblöcke in Ihrer ASPX-Datei befinden. Deklarieren Sie beispielsweise eine Button variable for Variable für button1 in your code behind and set the CommandArgument attribute in the page's in Ihrem Code hinter und legen Sie das CommandArgument-Attribut in PageLoad or oder PageInit instead of using inline code and der Seite fest, anstatt Inlinecode und Eval

zu verwenden.

Suchen Sie AsyncPostBackTriggers als eine Möglichkeit, ein clientseitiges Steuerelement zu erhalten, um ein UpdatePanel auszulösen, um eine partielle Seitenaktualisierung durchzuführen. Ich habe zwei Update-Panels so oft zusammengebunden...

<UpdatePanel>
   <Triggers>
     <asp:AsyncPostBackTrigger ControlID=”up1” />
   </Triggers>
   <ContentTemplate>
     ....
   </ContentTemplate>
</UpdatePanel>

Ich kann mich nicht daran erinnern, ob Sie die eigentlichen UpdatePanels miteinander verknüpfen können oder ob Sie für jeden Repeater-Button in Ihrem up1 UpdatePanel

eine Triggerregel hinzufügen müssen.