Ich habe eine DropDownList
und eine CheckBox
auf meinem Webformular. Nachdem auf DropDownList
geklickt wurde, wird dieses Ereignis an den Server gesendet. DropDownList_SelectedIndexChanged
Ereignis wird auf der Serverseite aufgerufen. In diesem Event-Handler habe ich CheckBox.Checked = true
, aber ich konnte die Seite auf der Clientseite nicht dazu bringen, diese Änderung widerzuspiegeln (CheckBox.Checked = true
). Wie erreiche ich das? Oder bin ich in die falsche Richtung, um den DropDownList
Eventhandler zu verwenden, um die CheckBox
zu aktualisieren, weil die Seite zuerst neu lädt und dann DropDownList_SelectedIndexChanged
aufgerufen wird?Wie können CheckBoxes auf der Client-Seite aktualisiert werden, nachdem Änderungen auf der Serverseite vorgenommen wurden?
Seite Load-Methode:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.DropDownList1.Items.Clear();
AddItemsToDropDownList();
}
}
Dropdownlist ausgewählt Index veränderte Ereignishandler:
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
var selected = this.DropDownList1.SelectedItem.Text;
CheckBox checkBox = GetCheckBoxToBeSetByText(selected);
checkBox.Checked = true;
}
"Normalerweise" sollte die "Checked" Eigenschaft der CheckBox ausreichen. Ein paar Dinge können die Sache jedoch komplizierter machen. Initialisieren Sie den CheckBox-Status in Ihrem 'Page_Load' Event-Handler? Verwenden Sie UpdatePanels? Wird Javascript beim Laden der Seite auf der Client-Seite ausgeführt? Sie könnten den entsprechenden Code in Ihre Frage eingeben. – ConnorsFan