Frage

Okay, ich glaube, ich bin nur einen dummen Fehler hier machen, aber ich mag ein Steuerelement erstellen (abgeleitet von System.Web.UI.Control), die zusammenklappbar ist, mit dem guten alten ASP.net Viewstate / Postback Modell.

Ich habe ein Image in meiner Klasse, die ich in der OnInit () Ereignisse initialisieren:

    private ImageButton _collapseImage;
    protected override void OnInit(EventArgs e)
    {
        if (_collapseImage == null)
        {
            _collapseImage = new ImageButton();
            _collapseImage.Click += CollapseImageClick;
        }
        _collapseImage.ImageUrl = string.Format("/images/{0}", IsCollapsed ? "plus.gif" : "minus.gif");
        _collapseImage.Width = 16;
        _collapseImage.Height = 16;
    }

isCollapsed ist ein boolean, und die CollapseImageClick nur schaltet es:

    private void CollapseImageClick(object sender, ImageClickEventArgs e)
    {
        IsCollapsed = !IsCollapsed;
    }

Meine Create wird dann überprüft diesen Parameter:

 protected override void CreateChildControls()
    {
        Panel pnl = new Panel();

        pnl.Controls.Add(_collapseImage);
        if(!IsCollapsed)
        {
            // Add some more Controls
        }
        Controls.Add(pnl);
    }

Leider funktioniert es nicht. Ich klicke auf dem Image, die Seite tut es Postbacks, aber dann ist es nicht ändern, es ist Zustand -. Wenn es vor erweitert wurde, ist es nach wie vor nach erweitert

Im Konstruktor Ich habe EnableViewState = true;

Jede Ahnung, was ich um mich fehlt diese Änderungen bestehen bleiben?

War es hilfreich?

Lösung

Sind Sie tatsächlich den Zustand Ihrer Platte speichern (die kollabierte boolean) in den Ansichtszustand?

ViewState("collapsed") = Collapsed

Der Ansichtszustand automatisch speichern keine Eigenschaft / Variable, die Sie haben, haben Sie es zu sagen, was zu tun ist.

Andere Tipps

Wenn Sie Viewstate nicht funktioniert, können Sie immer versuchen, es als eine Sitzung zu speichern.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top