Wie setzen Dropdownlist ausgewählten Wert in mvc3
Ich habe eine dropdownlist, die verbindlich mit TempData.wenn es kommen zum ersten mal ist es mit allen Werten.Nach der Auswahl eines bestimmten Wert, Wert speichern in der Datenbank korrekt.Aber der gewählte Wert wird nicht angezeigt.Ich gebe meinen code unten.
Für das abrufen, die ich geschrieben habe in der index-action controller
TempData["Clients"] = (IEnumerable<SelectListItem>)ClientService.GetALLClientsName().Select(C=>new SelectListItem { Value=C.CLIENT_ID.ToString(),Text=C.CLIENT_NAME});
beim abrufen nach der Bearbeitung kann ich nicht den ausgewählten Wert.Ich habe geschrieben in gestochen wie dies weiter unten
@if (TempData["SelectedClientName"] != null && TempData["SelectedClientId"] != null)
{
foreach (SelectListItem sli in lstClients)
{
if (sli.Value.Equals(TempData["SelectedClientId"].ToString()))
{
sli.Text = TempData["SelectedClientName"].ToString();
sli.Value = TempData["SelectedClientId"].ToString();
sli.Selected = true;
break;
}
}
}
@Html.DropDownList("drpClientName", lstClients, "--Select--")
Ich habe Umgerechnet TempData["Kunden"], in lstClients.Bitte helfen Sie mir.
- Du sollst nicht sparen dropdown-Daten in TempData. Verwenden ViewBag oder ViewData statt
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie verwenden DropDownListFor und ViewModel enthält Feld ClientId:
YourViewModel:
Anzeigen:
Clients.cs (z.B.):
Anzeigen:
TempData
hat verschiedene Verwendung. Sein Verhalten ist wieSession
aber es überlebt nur nächste Anfrage. Es ist nützlich, wenn die Weiterleitung und wollen, um Daten weiterzugeben. Sehen dieser link, um besser zu verstehen, den Unterschied.Können Sie einstellen, dass bei Modell-controller.dh, Wenn Sie erstellen TempData["Clients"]
legen Sie die selectlistitem, dass Sie als ausgewählt.