官术网_书友最值得收藏!

Code-Behind Model: The Second UI Layer

In the above classic ASP style example, we noticed that the code and HTML were separated but still present on the same ASPX page. ASP.NET introduced further separation using the principle of code-behind classes, by pulling all of the code out from the ASPX into a separate class and compiling it to a separate DLL. (Note that a DLL is not really required either, if the developer wishes to deploy the code-behind into the web directory. ASP.NET will compile the code "Just-In-Time" into a temporary DLL, so "pre-compiling into a DLL" is not required either.) This allowed the programmers to debug their applications more efficiently and also introduced further loose coupling in the UI layer, introducing another layer into the above 1-tier architecture.

Here is a diagrammatic representation of the above style:

Code-Behind Model: The Second UI Layer

The partial class compilation model was introduced with ASP.NET 2.0. Partial classes help us break up a main class into sibling classes, which can be merged later into one single class by the compiler. We can see that now instead of having a single ASPX file, we have three separate files for a webform—an ASPX file containing HTML UI elements, a code-behind file containing logical code, and an extra designer class file which is auto-generated by the VS and has the declaration of all of the server controls used in the ASPX form. At runtime, the code-behind class is compiled together with the designer.cs class (containing protected control declarations), and this merged class is used as the base class for the ASPX form class. This approach helped separate the UI code from the HTML elements, and this logical separation in terms of code-behind classes was the second layer style.

Code-Behind Model: The Second UI Layer
主站蜘蛛池模板: 沁阳市| 景谷| 祁东县| 鄂州市| 扎赉特旗| 尤溪县| 昭通市| 青冈县| 竹溪县| 贵阳市| 开化县| 巴东县| 长泰县| 依兰县| 吐鲁番市| 台北市| 深圳市| 陇西县| 廉江市| 安图县| 昭苏县| 惠东县| 澜沧| 怀宁县| 克拉玛依市| 曲水县| 金乡县| 米林县| 绥棱县| 闸北区| 阜南县| 清流县| 绥江县| 娄烦县| 务川| 朝阳市| 石柱| 仁布县| 夏邑县| 惠水县| 永丰县|