Make update-panel-Komponente ändern der Sichtbarkeit des Elements außerhalb des update-Panels

Ich habe einen repeater und die Elemente sind änderbar über die Bearbeiten-Schaltfläche öffnet sich ein FormView in den edit-Modus. Das formView ist zunächst unsichtbar und der repeater sichtbar. Einmal Bearbeiten gedrückt ist der repeater geht unsichtbar dann die Formularansicht sichtbar wird, mit dem Element zu Bearbeiten.

Sobald änderungen vorgenommen wurden, drückt der Benutzer aktualisieren. Dies setzt die Formularansicht unsichtbar und der repeater sichtbar.

Das problem ist das formview geht unsichtbar, aber der repeater nicht sichtbar. Ich denke, dies ist durch die Tatsache verursacht, die formview ist in einem update-panel und den repeater nicht? Nur die Elemente, die in der update-panel werden verändert, die auf einen Klick auf update, weil es ist nur ein Teil der Seite aktualisiert wird.

Kann ich nicht setzen Sie den repeater innerhalb der update-panel, weil es eine Anforderung, dass die öffentliche Ansicht nicht javascript verwenden.

Weiß jemand wie ich das machen könnte den repeater wieder angezeigt?

<asp:Repeater id="resultsRepeater" runat="server"  DataSourceID="vehiclesDataSource" >
  <ItemTemplate>
    <asp:Label id="makeLabel" runat="server" Text='<%# Eval("Make") %>' />
    <asp:Button id="editButton" runat="server" Text="Edit" CommandArgument='<%# Eval("Id") %>' OnClick="EditButton_Click" />
  </ItemTemplate>
<asp:Repeater>

<asp:UpdatePanel ID="updatePanel" runat="server">
  <ContentTemplate>
    <asp:Panel id="insertUpdatePanel" runat="server" Visible="false">
      <asp:FormView id="editformview" runat="server" DataKeyNames="Id" Datasourceid="VehiclesEditDataSource" >

        <EditItemTemplate>
          <uc:VehiclesEdit ID="VehiclesEdit" runat="server" />
            <asp:Button id="updateButton" runat="server" OnClick="Update_Click" />
        </EditItemTemplate>
      </asp:FormView>
    </asp:Panel>
  </ContentTemplate>
</asp:UpdatePanel>

protected void EditButton_Click(object sender, EventArgs e)
{
  resultsRepeater.Visible = false;
  insertUpdatePanel.Visible = true;
}

protected void Update_Click(object sender, EventArgs e)
{
  resultsRepeater.Visible = true;
  insertUpdatePanel.Visible = false;
}
InformationsquelleAutor Coder 2 | 2011-03-08
Schreibe einen Kommentar