Je voudrais savoir quoi, pourquoi ou quand il vaut mieux choisir cshtml et quoi, pourquoi ou quand il vaut mieux choisir les technologies aspx? À quoi ces deux technologies sont-elles destinées?
Je vous remercie,
Je voudrais savoir quoi, pourquoi ou quand il vaut mieux choisir cshtml et quoi, pourquoi ou quand il vaut mieux choisir les technologies aspx? À quoi ces deux technologies sont-elles destinées?
Je vous remercie,
Comme d'autres personnes ont répondu, .cshtml
(ou .vbhtml
si c'est votre saveur) fournit un gestionnaire de cartographie pour charger le moteur MVC. L' .aspx
extension de simplement les charges de l'aspnet_isapi.dll qui effectue la compilation et sert de formulaires web. La différence dans le mappage de gestionnaire agit simplement d'une méthode permettant aux deux co-existent sur le même serveur permettant à la fois des applications MVC et web forms applications de vivre sous une racine commune.
Cela permet http://www.mydomain.com/MyMVCApplication pour être valide et servi avec MVC règles ainsi que la http://www.mydomain.com/MyWebFormsApplication pour être valable en tant que norme de formulaire web.
Edit:
Comme pour la différence dans les technologies, l'architecture MVC (Rasoir) templating cadre est prévu pour le retour .Pages Net pour une plus Reposant "web-based" plate-forme de type "modèle" vue sur la séparation de la logique de code entre le modèle (entreprise/data objects), la vue (ce que voit l'utilisateur) et les contrôleurs (le lien entre les deux). Les Formulaires de modèle (aspx) était une tentative de Microsoft pour utiliser javascript complexe intégrant à simuler un plus stateful application similaire à une application WinForms complet avec des événements et une page de cycle de vie qui serait capable de retenir son propre état, de page en page.
Le choix d'utiliser l'un ou l'autre est toujours controversé, car il existe des arguments pour et contre les deux systèmes. Moi, j'aime la simplicité dans l'architecture MVC (même si le routage est tout sauf simple) et la facilité de la syntaxe Razor. Je sens les Formulaires de l'architecture est tout simplement trop lourd pour être efficace une plate-forme web. Cela étant dit, il ya beaucoup de cas où les Formulaires propose un cadre très succincte et utilisable modèle avec une riche structure événement, qui est bien défini. Tout dépend des besoins de l'application et les préférences de ceux du bâtiment.
Razor est un moteur d'affichage pour ASP.NET MVC, et aussi un moteur de template. Rasoir code et ASP.NET code en ligne (code mélangé avec de la majoration), à la fois compilé premier et se transformer en un temporaire de l'assemblée, avant d'être exécutée. Ainsi, tout comme le C# et VB.NET la compilation de IL qui les rend interchangeables, lame de Rasoir et le code en ligne sont à la fois interchangeables.
Donc, c'est plus une question de style et d'intérêt. Je suis plus à l'aise avec un rasoir, plutôt que de ASP.NET le code en ligne, qui est, je préfère le Rasoir (cshtml) pages .les pages aspx.
Imaginez que vous voulez obtenir un Human
classe, et de les rendre. Dans cshtml fichiers que vous écrivez:
<div>Name is @Model.Name</div>
Alors que dans d' aspx fichiers que vous écrivez:
<div>Name is <%= Human.Name %></div>
Comme vous pouvez le voir, @
signe de rasoir rend le mélange de code et balisage beaucoup plus facile.
Bien que la syntaxe est certainement différente entre Rasoir (.cshtml
/.vbhtml
) et WebForms (.aspx
/.ascx
), (Rasoir d'être le plus concis et moderne des deux), personne n'a mentionné que même si les deux peuvent être utilisés comme Moteurs de visualisation / création de modèles de Moteurs, traditionnel ASP.NET contrôles de Formulaires Web peut être utilisé sur tout .aspx ou .fichiers ascx, (même en cohésion avec une architecture MVC).
Ce qui est pertinent dans les situations où depuis longtemps des solutions à un problème ont été établis et emballé dans un composant enfichable (par exemple un grand-téléchargement du fichier de contrôle) et que vous souhaitez l'utiliser dans un MVC site. Avec le Rasoir, vous ne pouvez pas faire cela. Toutefois, vous pouvez exécuter tous de la même backend de traitement que vous pouvez utiliser avec un traditionnel ASP.NET l'architecture avec un Formulaire Web vue.
En outre, ASP.NET formulaires web vues peuvent avoir des Code-Behind de fichiers, qui permet d'intégrer la logique dans un fichier séparé qui est compilé avec la vue. Alors que la communauté de développement de logiciels est de plus en plus être voir étroitement couplé architectures et la Smart Client modèle comme une mauvaise pratique, il sert à être le principal moyen de faire les choses et il est encore très possible .aspx/.fichiers ascx. Rasoir, intentionnellement, n'a pas cette qualité.
Les fichiers Cshtml sont ceux utilisés par Razor et, comme indiqué en réponse à cette question , leur principal avantage est qu’ils peuvent être restitués dans des tests unitaires. Les différentes réponses à cet autre sujet apporteront de nombreux autres points intéressants.
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.