MVC3 Rasoir > marque Modèle IEnumerable, de sorte qu'il peut être utilisé en Vue?
J'ai ce modèle:
namespace easyBooking.Models
{
public class CardInfo
{
public string name { get; set; }
public string adress { get; set; }
public string zipcode { get; set; }
public string city { get; set; }
public string ccsID { get; set; }
public string birthday { get; set; }
public string nationalitet { get; set; }
public string cardType { get; set; }
}
}
qui je remplir à partir d'une fonction et revenir à la manette. Le problème est que je ne peut pas remettre ce modèle à ma vue, car elle ne permet pas de mettre en œuvre IEnumerable... au Lieu de cela j'ai ajouter une information dans le viewBag comme ceci:
var cardInfo = FunctionLib.cardCampingPas(myArray);
ViewData.Add("name", cardInfo.name);
ViewData.Add("adress", cardInfo.adress);
ViewData.Add("nationalitet", cardInfo.nationalitet);
ViewData.Add("ccsID", cardInfo.ccsID);
ViewData.Add("zipcode", cardInfo.zipcode);
ViewData.Add("city", cardInfo.city);
ViewData.Add("cardType", cardInfo.cardType);
return View("../Reservation/New", ViewData);
qui est une sorte de stupide, quand je devrais être en mesure de simplement ajouter le cardInfo modèle directement à la Vue.
var cardInfo = FunctionLib.cardCampingPas(myArray);
return View("../Reservation/New", cardInfo);
Donc en gros j'ai juste besoin de passer un bouquet de chaînes à la vue. Comment mon modèle CardInfo être accessible directement à partir de mon point de vue?
Mise à jour
@rene - afficher les données où j'ai ajouté un @modèle de déclaration. J'ai eu quelques erreurs quand je l'ai essayé dernier, mais il doit être parce que j'ai essayé de foreach
ou quelque chose.. maintenant... juste pas d'erreur, et je n'ai aucune idée si quelque chose est passé à la vue ou à obtenir les données.
@model easyBooking.Models.CardInfo
@{
ViewBag.Title = "New";
}
<h2>Ny reservation</h2>
<p>Benyttet kort: @Model.cardType</p>
Cela fonctionne à présent...
- Les deux dernières lignes semble OK pour moi. Pouvez-vous partager votre point de vue? Avez-vous des erreurs?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez passer votre collection directement à la vue.
Dans la vue, vous aurez besoin de déclarer le type de modèle:
@model IEnumerable<easyBooking.Models.CardInfo>
Pense que j'ai déjà essayé quelque chose comme cela, mais comment faire pour obtenir une valeur unique de par la suite? @modèle.nom @CardInfo.nomThe model item passed into the dictionary is of type 'easyBooking.Models.CardInfo', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable
1[easyBooking.Modèles.CardInfo]'.`@model.SomeProperty
.@Model
avec unM
; désolé. Sinon, il pense que vous êtes à la déclaration d'un type de modèle.