je tentais d'utiliser la déclaration suivante:Comment utiliser la syntaxe générique dans un fichier de vue Razor?
@Html.Test<ISQL>().Nand()
Cependant, rasoir obstrue au < avant iSQL.
Un travail officiel pour cela?
je tentais d'utiliser la déclaration suivante:Comment utiliser la syntaxe générique dans un fichier de vue Razor?
@Html.Test<ISQL>().Nand()
Cependant, rasoir obstrue au < avant iSQL.
Un travail officiel pour cela?
Pour utiliser les méthodes génériques dont vous avez besoin pour échapper à l'expression
@(Html.Test<ISQL>().Nand())
Je comprends que cette « réponse » est un peu en retard et la question a évidemment été satisfaisante (et bien) répondre. Cependant, pour tous les futurs visiteurs de cette page, si vous recherchez un guide de référence plus complet, il y a le MS introduction to Razor syntax ainsi que le très utile article de blog de Phil Haack, Razor quick reference.
Je viens de trouver cette question quand je cherchais cette "même erreur" lors de la mise à niveau mvc.
J'ai eu:
ne fonctionne pas:
@{
ViewBag.Title = "Something " + @Model.Title;
var something = (IEnumerable<SelectListItem>)ViewBag.Options;
}
Apparemment, la syntaxe est allé plus stricte, et que vous êtes à l'intérieur d'un bloc @ {}, vous ne devez pas ajouter @ avant Modèle. Titre sur l'exemple. Mais l'erreur sur l'éditeur de code pointait vers le générique et ça me rendait fou.
Cela fonctionne très bien s'il n'y a pas de <> dans le code, mais juste de supprimer le @ de Model.Title résoudre le problème.
Travaux:
@{
ViewBag.Title = "Something " + Model.Title;
var something = (IEnumerable<SelectListItem>)ViewBag.Options;
}
Hope this helps à tout le monde
Il est sur le caractère @, cet exemple fonctionne mise à niveau avant
@{
string @class = [email protected];
IDictionary<string, object> htmlAttributes = new Dictionary<string, object>();
}
Après la mise à niveau, il doit être séparé en deux blocs
@{ string @class = [email protected]; }
@{ IDictionary<string, object> attrs = new Dictionary<string, object>(); }
J'ai eu un cas étrange quand j'ai eu plusieurs affectations dans un @{ ... }
bock.
@{
// ... other assignments (without error)
List<string> stringList = new List<string>() // ERROR MESSAGE HERE
}
Qu'est-ce que j'ai fait, il y avait toujours des erreurs, comme ceci:
Utilisation du type générique 'Liste' nécessite un des arguments de type
La solution: I mettre la ligne d'affectation à deuxième@{ ... }
bock.
@{
// ... other assignments
}
@{
List<string> stringList = new List<string>() // WORKS
}
...avez-vous oublié quelque chose parce que vous n'avez pas mis cela dans un bloc de code? Je ne vois rien moins que le signe ... – Paul