Je veux créer mon propre code HTML Helper comme dans MVC, mais je ne trouve pas comment faire dans le bon sens.
J'ai trouvé comment créer un Tag personnalisé Aides mais pas de code HTML Helpers.
Merci pour votre temps!
OriginalL'auteur Duefectu | 2017-02-04
Pour moi, je pensée mon HTML helpers n'ont pas de travail jusqu'à ce que j'ai repéré que la méthode d'extension est maintenant sur
IHtmlHelper
pasHtmlHelper
.Donc pour .net de base:
Au lieu de .net:
EDIT: j'ai aussi mis à jour le type de retour .net de base pour être IHtmlContent que d'utiliser quelque chose comme
HtmlContentBuilder
est une jolie manière de composer le contenu HTML et le retour qui renvoieIHtmlContent
OriginalL'auteur dougajmcdonald
HTML Helpers l'air d'être pris en charge dans ASP.NET de Base et sont en attente de la documentation:
https://docs.microsoft.com/en-au/aspnet/core/mvc/views/html-helpers
À la recherche à la ASP.NET Core source, ils travaillent de manière de même pour les anciennes versions de ASP.NET MVC:
https://github.com/aspnet/Mvc/blob/dev/src/Microsoft.AspNetCore.Mvc.ViewFeatures/Rendering/HtmlHelperDisplayExtensions.cs
Exemple
MyHTMLHelpers.cs:
_ViewImports.cshtml (deuxième ligne est l'important de changement):
Mavue.cshtml:
Sorties:
Il a travaillé pour moi, merci pour la bonne explication
OriginalL'auteur Akaoni
Cela a été bien expliqué par Danny van der Kraan dans son billet de blog ici. La réponse ci-dessous un extrait de ce post:
ASP.NET Core 1.0 [MVC 6]
est livré avec une nouvelle excitante fonctionnalité appeléeTagHelpers
. DansASP.Net Core 1.0
il n'y a pas de notion de Helper HTML comme dans MVC.Quels sont TagHelpers?
TagHelpers
peut être considérée comme l'évolution de HTML helpers qui ont été introduites avec le lancement de la premièreMVC
cadre. Afin de fournir un contexte que vous avez à imaginer avec l'ASP classique, la seule façon vous pouvez automatiser la génération de HTML est par l'intermédiaire de sous-routines personnalisées. Après que ASP.NET est venu avec des commandes de serveur, avec les états d'affichage en tant que plus gros plus, pour simuler l'apparence et la sensation d'applications de bureau et d'aide à la transition pour les ordinateurs de bureau des développeurs. Mais nous savons tous ce qui arrive quand on essaie de confiture de places dans des trous ronds. Nous avons eu à faire face au fait que le développement web n'en est rien, comme le développement de postes de travail. Pour se mettre en ligne avec une bonne web de développement de la ASP.NETMVC
cadre a été lancé avec HTML helpers pour automatiser la sortie HTML. Mais HTML helpers jamais vraiment gélifié, surtout pas avec des développeurs front end et les concepteurs. L'une des principales bêtes noires est qu'il vous a fait passer beaucoup de crochets(HTML, CSS)
àC# (Razor syntax)
lors de travaux sur des points de vue, qui en a fait l'expérience inutilement mal à l'aise.[MVC 6]
veut remédier à ce problème et quelques petits problèmes en introduisantTagHelpers
. ExempleHTML helper:
Avec l'ancrage TagHelper cela ressemblerait à:
PS: Veuillez noter que l'asp est juste une convention, mais plus sur cela plus tard.
La sortie est affiché dans le navigateur est le même pour les deux:
PS: Condition que la route par défaut n'a pas été modifié.
Pour plus d'informations sur
TagHelpers
cliquez iciTagHelper
est l'amélioration de la fonctionnalité deASP.Net core
. Vous pouvez tout faire à l'aide deTagHelper
. Mais vous exactement ce que vous essayez d'expliquer avec des exemples?Merci @Manish, j'comprendre TagHelpers et la pas besoin de HtmlHelpers. J'ai trouvé une bonne documentation simple qui a résolu mon mec: lien
Merci de lire le post suivant sur imputer correctement vos sources. Un lien en bas de votre post est insuffisante. L'attribution appropriée doit être accordée à l'avant lors de la copie de contenu à partir d'autres.
merci de remarquer mon erreur, j'ai mis à jour ma réponse.
OriginalL'auteur MANISH KUMAR CHOUDHARY
Je n'ai jamais été en mesure d'obtenir HtmlHelper extension des méthodes de travail, j'ai toujours reçu:
Même si j'ai eu le bon espace de noms dans mon _ViewImports.cshtml fichier. J'ai donc décidé d'utiliser la capacité de Rasoir pages pour accompagner aujourd'hui l'injection de services qui ont été enregistrés pour l'injection de dépendance. Comme un exemple, j'ai le besoin d'injecter de certaines valeurs de mon fichier de configuration dans mon _Layout.cshtml fichier. J'ai donc fait la suivante:
1) a Défini une IConfigurationHelperService interface:
2) a Défini une implémentation de cette interface dans un ConfigurationHelperSerivce classe (qui est lui-même à l'aide de l'injection de dépendance pour obtenir la configuration régulière en classe):
3) Inscrit au service d'injection via ConfigureServices en Démarrage.cs:
4) Ajouté le bon espace de noms à l'aide d'instruction dans ma _ViewImports.cshtml fichier.
5) le @inject mot-clé à définir pour une utilisation dans les _Layout.cshtml fichier.
Il a travaillé beaucoup pour moi, et je peux voir beaucoup plus d'utilisations pour cet sur plus simples pages d'où la définition de modèles serait trop de travail.
OriginalL'auteur James Eby
Bien, je suppose que cette réponse ne sera pas remarqué, mais voici ce que j'ai trouvé avec l'aide du service des inscriptions:
J'espère que cela aide quelqu'un.
Inscrire le service:
Utiliser le service:
Interface:
Mise en œuvre:
OriginalL'auteur Dbl
Ici est un exemple .Net Core 2 à l'aide de TagBuilders
OriginalL'auteur René