Ce n'est que mon avis, mais j'utilise toujours des modèles de vue pour transmettre des données à mes vues. Même si c'est aussi simple que d'avoir besoin d'un fichier int
comme l'identité.
En procédant ainsi, l'accès à cette valeur devient trivial, car MVC fait tout le travail pour vous.
Pour ce que ça vaut, j'ai l'habitude nom mes modèles de vue comme tels :
{Controller}{ViewName}ViewModel
Cela permet de garder les choses organisées à l'échelle.
Un exemple :
// ~/ViewModels/HomeEditViewModel.cs
public class HomeEditViewModel
{
public int Id { get; set; }
}
// ~/Controllers/HomeController.cs
public IActionResult Edit(int id)
{
return View(new HomeEditViewModel() { Id = id });
}
// ~/Views/Home/Edit.cshtml
@model HomeEditViewModel
<h1>Id: @Model.Id</h1>
3 votes
Pourquoi ne pas l'ajouter au dictionnaire ViewData ? C'est le mécanisme qui est prévu pour exactement ce que vous décrivez.