Est-ce que quelqu'un sait comment gérer les Dropdowns dans le noyau Asp.net. Je pense que je me suis rendu très compliqué pour comprendre le nouveau concept de base d'Asp.net. (Je suis nouveau sur Asp.net Core).
J'ai des modèles appelés Driver
, Vehicle
. Fondamentalement, on peut créer un tas de véhicules dans le maître, puis l'attacher au conducteur. Pour que le conducteur soit associé à un véhicule.
Mon problème est que j'utilise également viewmodel dans certaines régions pour combiner deux modèles différents. (Peu compris du modèle par défaut)
Mon problème est que je n'ai aucune idée de la prochaine étape, car ASP.net Core est très récent, il n'y a pas beaucoup de tutoriels et de questions/réponses disponibles.
Modèle de pilote
public class Driver
{
[Required]
public int Id { get; set; }
[Required]
public string ApplicationUserId { get; set; }
[Required]
public int VehicleId { get; set; }
[Required]
public string Status { get; set; }
public virtual ApplicationUser ApplicationUser { get; set; }
public virtual Vehicle Vehicle { get; set; }
}
Modèle de véhicule
public class Vehicle
{
[Required]
public int Id { get; set; }
[Required]
public string Make { get; set; }
public string Model { get; set; }
[Required]
public string PlateNo { get; set; }
public string InsuranceNo { get; set; }
}
AfficherModèle de pilote
public class DriverViewModel
{
[Required]
[Display(Name = "ID")]
public int ID { get; set; }
[Required]
[Display(Name = "User ID")]
public string ApplicationUserId { get; set; }
[Required]
[Display(Name = "Vehicle ID")]
public IEnumerable<Vehicle> VehicleId { get; set; }
//public string VehicleId { get; set; }
[Required]
[Display(Name = "Status")]
public string Status { get; set; }
}
Voici ma vue
<div class="col-md-10">
@*<input asp-for="VehicleId" class="form-control" />*@
@Html.DropDownList("VehicleId", null, htmlAttributes: new { @class = "form-control"})
<span asp-validation-for="VehicleId" class="text-danger" />
</div>
En regardant la documentation, il semble que le noyau asp.net soit en train de s'éloigner des assistants HTML et d'utiliser des assistants de balises. Le lien suivant devrait aider
https://docs.asp.net/en/latest/mvc/views/working-with-forms.html#the-select-tag-helper
plus précisément
@model CountryViewModel
<form asp-controller="Home" asp-action="Index" method="post">
<select asp-for="Country" asp-items="Model.Countries"></select>
<br /><button type="submit">Register</button>
</form>
Notez l'utilisation de "asp-for" qui fait référence à l'attribut Model à lier et l'utilisation de "asp-items" qui fait référence à la source d'attribut de modèle pour la liste des éléments de la liste de sélection et comment il est appliqué à la balise de sélection
L'exemple de modèle utilisé dans la documentation est référencé ci-dessous pour être complet
namespace FormsTagHelper.ViewModels
{
public class CountryViewModel
{
public string Country { get; set; }
public List<SelectListItem> Countries { get; } = new List<SelectListItem>
{
new SelectListItem { Value = "MX", Text = "Mexico" },
new SelectListItem { Value = "CA", Text = "Canada" },
new SelectListItem { Value = "US", Text = "USA" },
};
}
}