71 votes

Comment utiliser la syntaxe générique à l'intérieur d'un Rasoir fichier de la vue?

J'ai essayé d'utiliser la déclaration suivante:

@Html.Test<ISQL>().Nand()

Cependant, Rasoir est l'étouffement à l' < avant la ISQL.

Tout fonctionnaire de travailler autour de cela?

103voto

marcind Points 38002

Utiliser des méthodes génériques vous avez besoin pour échapper à l'expression

@(Html.Test<ISQL>().Nand())

16voto

Juan Carrey Points 106

Je viens de trouver cette question quand j'étais à la recherche de cette "erreur" lors de la mise à niveau de la mvc.

J'ai eu :

Ne fonctionne pas:

@{ 
   ViewBag.Title = "Something " + @Model.Title;
   var something = (IEnumerable<SelectListItem>)ViewBag.Options;    
}

Apparemment, la syntaxe est allé plus strictes, et que vous êtes à l'intérieur d'un @{} bloc, vous ne devez pas ajouter un @ avant Modèle.Titre de l'exemple. Mais l'erreur sur l'éditeur de code a été pointant vers le générique, et il se faisait de moi un fou.

Il fonctionne très bien si il n'y a pas de <> dans le code, mais juste de retirer le " @ " dans le Modèle.Titre résoudre le problème.

Œuvres:

@{ 
   ViewBag.Title = "Something " + Model.Title;
   var something = (IEnumerable<SelectListItem>)ViewBag.Options;    
}

Espérons que cela aide à quelqu'un

6voto

rich.okelly Points 24144

J'apprécie que cette réponse est un peu tardive et la question a évidemment été satisfaisante (et bien) répondu. Toutefois, pour les futurs visiteurs de cette page, si vous êtes après un plus guide de référence complet, il y a la MS introduction à la syntaxe Razor ainsi que Phil Haack est très utile de Rasoir de référence rapide blog.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X