différents entre @Modèle et @modèle
Fondamentalement, je suis en train de faire un test provoquée par l'une des excpetion.
En utilisant return View(list_a
) dans le contrôleur, j'ai transmis une liste dans ma vue, ma façon de voir la page, le code est comme:
@{
ViewBag.Title = "KYC_Home";
}
@using UniBlue.Models;
@model UniBlue.Models.KYC
...
@foreach(KYC a in Model)
...
il y aura une exception dit:
CS1579: foreach statement cannot operate on variables of type 'UniBlue.Models.KYC' because 'UniBlue.Models.KYC' does not contain a public definition for 'GetEnumerator'
Mais, quand j'ai changé mon code de
@Modèle
La Page semble bon, mais sur le titre, il indique:
System.Collections.Generic.List`1[UniBlue.Models.KYC] UniBlue.Models.KYC
régulière de texte HTML
Quelqu'un peut-il me dire pourquoi c'est arrivé? Que dois-je faire pour supprimer le titre étrange de ligne?
OriginalL'auteur LifeScript | 2013-07-19
Vous devez vous connecter pour publier un commentaire.
L'une est utilisée pour déclarer le type fort que le modèle est, et l'autre est utilisé pour accéder au modèle lui-même.
Le suivant dit que le plus fort du type utilisé pour le modèle est
UniBlue.Models.KYC
.Ce déclare essentiellement la "variable"
Model
en tant que type. Il s'apparente à procédant de la manière suivante:Model
est une variable,@model
est un mot-clé à dire ce typeModel
sera.Votre erreur est parce que vous avez déclaré
Model
que le CLIENT, mais le CLIENT n'est pas énumérable. Vous l'utilisez dans unforeach
attend à uneIEnumerable<UniBlue.Models.KYC>
qui n'est pas le cas.Si votre modèle est vraiment une liste, puis utilisez
Je ne comprends pas votre question.
mais au lieu d'écrire "modèle UniBlue.Modèles.KYC", j'ai utilisé le Modèle de la " UniBlue.Modèles.KYC' et elle a aussi réussi à s'exécuter et d'afficher, donc je ne sais toujours pas pourquoi ça n'a pas de provoquer des exceptions et d'obtenir les données de la liste
Il est possible que
@model
et@Model
peut être interchangeable lors de la déclaration du type de modèle.Mn.. de sorte que le point de réglage du solide type en vue est-à-dire param type du contrôleur de passer à travers, si je passe une liste, je devrais déclarer modèle comme une Liste<Modèles.KYC>, ai-je le droit?
OriginalL'auteur
@modèle indique le type d'une variable vous référer comme @Modèle
OriginalL'auteur