Speichern dropdownlist ausgewählten Wert ViewState

Ich habe eine dropdownlist, dass, wenn geändert wird, speichern Sie den neuen Wert in ein ViewState-Variablen, so dass nach einem postback, das dropdownlist-holt es von den ausgewählten Wert aus dem ViewState, wenn vorher festgelegt.

Wenn er versucht, speichern Sie den ausgewählten Wert in DropDownList1_SelectedIndexChanged zu ViewState, der es immer wieder Einsätze der ursprüngliche Wert und nicht aktualisiert. In diesem Fall wird der ViewState ist immer "R" und ändert sich nie nach anderen ausgewählten Werte.

Irgendwelche Ideen?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace WebApplication11
{
public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

        if (ViewState["List1_Value"] != null)
        {
            DropDownList1.SelectedValue = ViewState["List1_Value"].ToString();

        }
        else
        {
            DropDownList1.SelectedValue = "R";

        }

    }

    protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    {
        ViewState["List1_Value"] = DropDownList1.SelectedValue.ToString();

    }       

}
}
Sind Sie sicher, dass das problem mit dem speichern in viewstate? Ist es nicht immer R, weil die if-Anweisung FALSE zurückgeben?
die if-Anweisung false zurückgibt, auf den ersten page_load. Dann, wenn der gewählte Wert geändert wird, werden die ViewState speichert die Liste Wert, sondern nur die original "R", nie einen anderen Wert, der ausgewählt wurde, um die Feuer der SelectedIndexChanged. Zweiten mal ist die if-Anweisung ist wahr, und die Liste bekommt es den Wert von ViewState, die ärgerlicherweise immer noch "R", da das selectedIndexChanged nicht speichern Sie die neu ausgewählten Wert zu ViewState.

InformationsquelleAutor Super Nova | 2011-12-13

Schreibe einen Kommentar