J'essaie d'implémenter une vue qui affiche des informations provenant d'une base de données qui a été modifiée juste avant l'affichage. Par exemple, j'essaie d'ajouter du travail de balisage et des coûts de matériel pour donner un prix final. le problème est que je ne peux pas utiliser une boucle foreach pour l'afficher dans la vue parce que c'est un List
, et j'ai du mal à le déclarer comme IEnumerable
parce qu'il ne me laissera pas utiliser la fonction Add()
. Voici mon modèle,Comment implémenter un modèle MVC qui ne lie pas directement à une base de données
namespace Myname.Models{
using System;
using System.Collections.Generic;
public partial class Pricing
{
public List<int> ID { get; set; }
public List<string> Manufac { get; set; }
public List<string> Model { get; set; }
public List<string> Service { get; set; }
public List<string> Type { get; set; }
public List<int> Price { get; set; }
}
Voici ma méthode d'index dans mon contrôleur,
private WTEntities db = new WTEntities();
// GET: /JobInformation/
[Authorize(Roles = "Employee")]
public ActionResult Index()
{
Pricing prices = new Pricing();
prices.ID = new List<int>();
prices.Manufac = new List<string>();
prices.Model = new List<string>();
prices.Price = new List<int>();
prices.Service = new List<string>();
foreach(var item in db.JobInformations)
{
prices.ID.Add(item.ID);
prices.Manufac.Add(item.Manufac);
prices.Model.Add(item.Model);
prices.Service.Add(item.Service);
prices.Price.Add(((int)item.MarkupCostCents + (int)item.LaborCostCents + (int)item.HardwareCostCents)/100);
}
return View(prices);
}
et voici mon avis,
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.Type)
</td>
<td>
@Html.DisplayFor(modelItem => item.Manufac)
</td>
<td>
@Html.DisplayFor(modelItem => item.Model)
</td>
<td>
@Html.DisplayFor(modelItem => item.Service)
</td>
<td>
@Html.DisplayFor(modelItem => item.Price)
</td>
</tr>
}
La base de données existe-t-elle déjà où 'Pricing' est défini ou que vous concevez à partir de zéro? –
@Inanikian Pricing est un modèle à partir de rien, qui tire seulement certaines des valeurs d'un autre modèle de base de données. L'autre modèle énumère le coût de majoration, le coût de main d'oeuvre, etc. mais j'essaye de faire un modèle qui aura un nouveau membre appelé Price, qui est calculé à partir de ces valeurs, donc Price n'est jamais stocké dans une base de données, juste calculé à la volée – JBaczuk