J'écris une application ASP.NET 4 avec C #. J'ai une page maître, à l'intérieur de laquelle j'ai la méthode suivante: puis-je appeler cette méthode à partir d'une page de contenu? et je reçois cette erreur: p> 'system.web.ui.masterpage' ne contient pas de définition pour 'displaymessage' et aucune méthode d'extension 'displaymessage' Accepter un premier argument de type 'system.web.ui.masterpage' pourrait être trouvé (êtes-vous manquant une directive ou une référence d'assemblage?) p>
BlockQuote> Toute aide sera appréciée. p> p>
Pour le moment, j'utilise dans la page de contenu de ce code: p>
3 Réponses :
Vous devez lancer le code> code> au type Masterpage Vous pouvez également ajouter un Directive MasterType en haut de votre page de contenu pour obtenir la même chose: P> Master.DisplayMessage('Item has been inserted.');
Salut où je peux insérer <% @ mastertype virtualpath = "~ / Masterpage.master"%> dans la page de contenu ou la page principale? Merci
C'est placé dans la page de contenu.
@Glbbok - Ajoutez-le à votre page de contenu. Ensuite, vous pouvez simplement utiliser maître.displayMessage ('...'); code>
J'essaie Graham, mais j'obtiens une erreur à nouveau 1 erreur 1 Le type ou le nom de l'espace de noms 'Masterpages' n'existe pas dans l'espace de noms 'webproject.web.cms.admincms' (manquez-vous une référence d'assemblage?) ... qu'est-ce que je fais tort???
J'utilise ce code: <% @ MasterType VirtualPath = "~ / cms / admincms / Masterpages / admincms.master"%>
@Blbbok - est le chemin d'accès à admincms.master code> correct? Est-ce que cela fonctionne sans la directive MasterType et le casting dans votre code au bon type?
@Blbbok - Est-ce un projet de site Web ou d'application Web?
Ok je l'ai fait, je dois réparer le sentier vraiment merci pour des coups de vue
Vous pouvez utiliser CASTING pour obtenir votre type de page maître, car d'autres ont montré ou vous pouvez ajouter le puis dans votre code de page, vous pouvez avoir exactement ce que vous avez dans votre exemple: p> MASTERTYPE CODE> Directive sur votre page MARKUP (en haut, où la standard <% @ pages%> code> la directive est): MasterType code> directive est disponible à partir de .NET 2 vers le haut. P> p>
"La directive MasterType est disponible chez .NET 2 vers le haut." Comme sont des pages maîtres. :-)
J'ai fait / essayer ceci:
My Control (MenuesQuerdo.ascx) P>
RepeaterListaMenuEsquerdoCtr.DataSource = this.Master.ClassMercadorias.Take(20); RepeaterListaMenuEsquerdoCtr.DataBind();
Quelle version vs utilisez-vous?