Générique Hérité ViewPage<> et la nouvelle Propriété

De l'installation:

  • CustomViewEngine
  • CustomController Base
  • CustomViewPage de Base (dans cette base, une nouvelle propriété est ajouté "MyCustomProperty")

Problème:

Lorsqu'une vue est fortement typés tels que: <@ Page Inherits="CustomViewPage<MyCustomObject" MyCustomProperty="Hello">, je reçois un compilateur "Parser" erreur indiquant que MyCustomProperty n'est pas une propriété publique de Système.Web.Mvc.ViewPage

J'ai fait de nombreux essais et erreurs (voir ci-dessous) pour voir ce qui provoque cette erreur et en sont venus aux conclusions suivantes:

  • L'erreur se produit uniquement lorsque je déclare "MyCustomProperty" ou toute autre propriété dans la directive @Page de la vue.
  • L'erreur s'affiche toujours "le Système de.Web.Mvc.ViewPage" plutôt que de l'déclaré inherits=".." de la classe.
  • Désolé, je ne peux pas vous aider et j'aimerais savoir pourquoi ce qui se passe. Voir "Comment les Contrôles de Saisie les Valeurs" de la section de stackoverflow.com/questions/1434734/.... Cela peut vous aider, il ne pourrait pas, mais MVC ne semblent à la recherche de valeurs dans un ordre qui n'est pas toujours évident.
  • Ne vois pas comment je peux appliquer le lien de cette situation. J'ai essayé tous les types de déclaration de classe avec les types génériques et des modes de transmission différents, rien =(
  • J'ai trouvé ceci sur Google: forums.asp.net/p/1432045/3408610.aspx#3408610 (Dernier Post de la page) Mais pourquoi a-t-il seulement pour que si l'utilisateur utilise des matières premières .net type de format de spécification"
  • Désinvolte, je dirais que c'est en réfléchissant au-dessus de votre assemblée, et il voit bien qu'il ne s'attend pas.
  • Mais je définir explicitement la propriété et il fonctionne parfaitement avec un régulier ViewPage (pas de générique de droits de succession/modèle passé)
  • Êtes-vous en utilisant MVC 1.0 ou la nouvelle MVC 2.0 Aperçu?
  • Je suis en utilisant MVC 1.0
  • Le WebViewEngine seulement instancie ViewPage(s). Je pense que vous auriez à mettre en œuvre une vue personnalisée du moteur pour que cela fonctionne. stackoverflow.com/questions/610890/extending-webformview-in-mvc
  • Je ne pense pas que c'est le cas depuis le ViewEngine rend MyCustomViewPage parfait pour un affichage qui n'est pas fortement typé.
  • Est-il un moyen d'augmentation de la prime après sa création?

InformationsquelleAutor Omar | 2009-09-26