Heim > Fragen und Antworten > Hauptteil
Ich bin kürzlich mit einem C#-Projekt in Kontakt gekommen, bei dem es sich im Wesentlichen um eine MVC-Struktur und ein auf asp.net basierendes Webprojekt handelt. Die Ansichtsschicht besteht aus mehreren CSHTML-Dateien (im Grunde kann man sie als die vorherigen ASPX-Dateien betrachten), die Controller-Schicht besteht aus mehreren CS-Dateien (C#-Code) und die Datenschicht wird hier nicht besprochen.
Dieses Projekt ist wie folgt: In der CSHTML-Datei der Ansichtsebene wird eine bestimmte Schaltfläche mit einer bestimmten Funktion in der JS-Datei verknüpft Holen Sie sich die Anforderung und verknüpfen Sie sie dann mit der entsprechenden Funktion in der CS-Datei der Controller-Schicht, gefolgt von der Datenverarbeitung und der Rückgabe.
Jetzt habe ich folgende Verwirrungen:
1. Ich weiß nicht, ob der oben erwähnte Prozess jetzt ein gängiger Front-End- und Back-End-Interaktionsprozess in der Webentwicklung ist?
2. Ist die auf Java Web basierende JSP-Technologie dem oben genannten .net-Prozess ähnlich? Entspricht die JSP-Datei der CSHTML-Datei in .net? Allerdings heißt es im Internet, dass JSP-Dateien Java-Code enthalten, aber ich habe keinen C#-Code in der CSHTML-Datei gefunden. Es war weder HTML noch JS
3. Wenn die JSP-Datei viel Java-Code enthält, würden dann die Ansichtsebene und die Controller-Ebene nicht zusammenkleben? Sollte es sich nicht um einen Prozess handeln, bei dem die JSP-Datei js aufruft und dann js die Java-Datei in der serverseitigen Controller-Ebene aufruft?
4. Wenn es stimmt, dass die JSP-Datei in Frage 3 eine große Menge Java-Code enthält, dann ist sie tatsächlich nicht gut entkoppelt. Bedeutet ein solcher Prozess dann, dass das Front-End und Backend sind entkoppelt? Ist die Kopplung gut?
5. Was mich ein wenig verwirrt, ist, warum ich in diesem .net-Projekt keine einzige HTML-Datei finden kann. Es sind alles CSHTML-Dateien, und dann gibt es eine große Anzahl von JS-Dateien und CS-Dateien (C#). Code).
Vielen Dank an alle, ich bin eigentlich ein Neuling, der gerade in die Welt der Webentwicklung eingestiegen ist
phpcn_u15822017-05-17 10:02:59
谢邀,以下是个人愚见,要喷请轻喷:
算是。不过现在还有前后端分离
是;不是,cshtml
应该对应是java中的velocity
如果夹杂着,就会。可以使jsp对应一个servlet
是的,已经算不错了
这是一种模板,简单来说会使html的开发对我们的后端人员更加友好
PHPz2017-05-17 10:02:59
是这样的,因为有经验我做个回答:
1,你所说的链接到某个js文件包括css文件是因为在c#中定义了识别路径,不然是无法识别的。
2,cshtml为Razor语法,要求文件名称后缀为这个。
3,我并没碰到过混杂着java的.net项目。不过还是建议既然是.net就用纯c#构建吧,也方便维护。
4,你现在所有的疑惑都源自于你对后台不太了解,作为前端有时间可以学习一下Node的express框架或者koa都可以,用一下模板语法,你就会理解你现在的疑惑了。
phpcn_u15822017-05-17 10:02:59
是一个经典的前后端交互架构,但目前主流已经向 spa 方向迁移,前端负责处理更多的路由和逻辑,后端只负责提供 api 和 数据;
jsp 与 cshtml 在这个意义上可以说是一致,但细节不同;至于为什么 cshtml 里面没有 c#,是因为微软规定 View 层使用 razor 引擎,后缀是 cshtml, 里面除了标准 html 和 js ,还可以使用 razor 语法 (注意并不是 C# ), 但是按当前的趋势,越来越多人不使用后端生成页面,而是直接在前端处理,所以很多 cshtml 里面没有 razor 语句;
jsp 夹杂 java 是类比与 asp ,属于淘汰技术, 题主已经接受了 mvc 的理念, 提出的疑问是对的,所以现在没人这么干了;
是的;
因为是微软规定的,具体原因看2;html 文件也是可以存在的,但用 cshtml 可以默认与 controller 绑定,更方便;
習慣沉默2017-05-17 10:02:59
这个问题是前后端的分离。现在主流的都是MVC三层分离。
至于你说的JSP其实是java早起的在html里面嵌入java代码的一种表现形式。现在已经慢慢弱化这种使用方法。