Solo mis dos centavos, pero siempre uso modelos de vista para pasar cualquier dato a mis vistas. Incluso si es tan simple como necesitar un intid.
Hacer esto hace que acceder a este valor sea trivial, ya que MVC hace todo el trabajo por usted.
Por lo que vale, normalmente nombro mis modelos de vista como tales:
{Controller}{ViewName}ViewModel
Esto ayuda a mantener las cosas organizadas a escala.
Un ejemplo:
public class HomeEditViewModel
{
public int Id { get; set; }
}
public IActionResult Edit(int id)
{
return View(new HomeEditViewModel() { Id = id });
}
@model HomeEditViewModel
<h1>Id: @Model.Id</h1>