création d'une liste déroulante dans MVC5
Je suis en train de créer une liste déroulante, mais il me donne un message d'erreur indiquant " Impossible de convertir implicitement le type 'string' pour 'Système.Web.Mvc.SelectList'. Mon code est ci-dessous:
Demande Modèle De Base De Données:
public string dropdown{ get; set; }
D'Affichage De L'Application Modèle:
public SelectList dropdown{ get; set; }
ApplicationService.cs:
public static SelectList GetDropdownList(string currSelection)
{
List<SelectListItem> list = new List<SelectListItem>();
list.Add(new SelectListItem { Value = "1", Text = "firstvalue" });
list.Add(new SelectListItem { Value = "2", Text = "secondvalure" });
list.Add(new SelectListItem { Value = "3", Text = "All of the Above" });
return new SelectList(list, "Value", "Text", currSelection);
}
dans mon contrôleur, je suis d'appel:
applicationviewmodel.dropdown= ApplicationService.GetDropdownList(null);
and then trying to save it in database as:
ApplicationDatabaseModel.dropdown= applicationviewmodel.dropdown;
C'est là que j'ai cette erreur.
De mon point de vue j'ai:
@Html.DropDownListFor(x => x.dropdown, applicationviewmodel.dropdown)
Je ne suis pas sûr de savoir comment faire ce travail.
Ce type est
oui. ses un modèle créé à partir d'une base de données
Eh bien,
est-il un autre moyen de créer une liste déroulante ?
Comprenez-vous ce que le problème est avec votre code (ce que je viens de l'expliquer)?
ApplicationDatabaseModel.dropdown
? Un string
?oui. ses un modèle créé à partir d'une base de données
Eh bien,
ApplicationDatabaseModel.dropdown = applicationviewmodel.dropdown
dit "Veuillez attribuer une SelectList
objet d'un string
". C'est là que votre problème est. Comment vous proposez-vous de stocker un ensemble de SelectList
exemple à l'intérieur d'un string
? Vous devez penser à comment vous pourriez faire.. le compilateur ne pas le faire pour vous.est-il un autre moyen de créer une liste déroulante ?
Comprenez-vous ce que le problème est avec votre code (ce que je viens de l'expliquer)?
OriginalL'auteur user3541362 | 2014-05-09
Vous devez vous connecter pour publier un commentaire.
Je trouve que c'est plus facile d'avoir une Liste dans le cadre de votre modèle et utiliser un linq simple déclaration. Exemple Simple ci-dessous pour un pays de la liste déroulante:
en supposant que vous avez un modèle comme
et une catégorie de personnes de Pays d'
dans votre vue, vous pouvez procéder de la façon suivante:
OriginalL'auteur MiiisterJim
Ce:
..est incorrect. Il est en train de stocker l'élément sélectionné dans la
SelectList
instance.Ce que vous voulez, c'est un
string
variable sur le modèle de vue que cette valeur est sélectionnée dans:Alors votre vue devient:
Ce dit "stocker la valeur sélectionnée dans
SelectedDropDownValue
".Ensuite, vous avez besoin de changer la façon dont vous construisez votre
SelectList
.Value
est ce qui est affiché sur votre propriété..Text
est ce qui est affiché dans le navigateur.Donc:
..doit être présent:
..parce qu'ils sont des chaînes de caractères (à moins bien sûr, vous voulez les numéros affichés en arrière).
Puis, enfin, votre contrôleur de code devient:
OriginalL'auteur Simon Whitehead