рдПрдХ рд╡реНрдпрд╛рдкрдХ рдзрд╛рд░рдгрд╛ рд╣реИ рдХрд┐ ASP.NET WebForms рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдмрд╣реБрдд рдзреАрдореЗ, рднрд╛рд░реА рд╣реЛрддреЗ рд╣реИрдВ, рдХреЗрд╡рд▓ рдХреЙрд░реНрдкреЛрд░реЗрдЯ рдкреЛрд░реНрдЯрд▓реНрд╕ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЗрдВрдЯреНрд░рд╛рдиреЗрдЯ рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдХреА рдЧрддрд┐ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВред рдЗрди рд╡рд┐рдзрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдирдП рдирд╣реАрдВ рд╣реИрдВ, рдХрдИ рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ рд╣рдордиреЗ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЛ рдПрдХрддреНрд░ рдХрд┐рдпрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ
AdVantShop.NET рдЕрд▓реНрдЯреАрдореЗрдЯ рдЗрдВрдЬрди рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИред
UpdatePanel рдкрд░ 1.Give
ASP.NET WebForms рдкрд░ рдПрдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдореЗрдВ рдмрд╛рдзрд╛ рдбрд╛рд▓рдиреЗ рд╡рд╛рд▓реЗ рдореБрдЦреНрдп рдХрд╛рд░рдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ UpdatePanel рдирд┐рдпрдВрддреНрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧред рдЗрд╕рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ ScriptManager рдкреГрд╖реНрда рдкрд░ рд░рдЦрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдпрд╣ рдкрд╣рд▓реА рд╕рдорд╕реНрдпрд╛ рд╣реИред
рдЖрдЗрдП рдПрдХ aspx рдкреЗрдЬ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдФрд░ UpatePanel рдХреЗ рдЕрдВрджрд░ рдПрдХ рд╕рд░рд▓ рд▓реЗрдмрд▓ рд▓рдЧрд╛рдПрдВ
<asp:ScriptManager runat="server" /> <asp:UpdatePanel ID="Updatepanel1" runat="server"> <ContentTemplate> <asp:Label runat="server" Text="Hello world!" /> </ContentTemplate> </asp:UpdatePanel>
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдЪрд▓рд╛рдПрдВ, рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рд╣реЛ рдЧрдпрд╛:
<script src="/WebSite1/WebResource.axd?d=ddsVPpuyrEEfoBbqjFYV9oHZ-YB8armGl03nreWb8sxbdd0MXlSne0kVoo7mheRQ1cxLip1L_44SDmzKsEIHZW930AWZ2Zs_ae9a9NTgNck1&t=634790730663322540" type="text/javascript"></script>
<script src="/WebSite1/ScriptResource.axd?d=x2K70A_qh5LLRPvqydlLAwONxKroPWgAGdmlhYHXFoXfUrRwcjMDwh9AgTRQkLVd0gEj8C6MhbyA_hq2RLgNpJxsoak2SQ5Dsi8RIcHR-k72-HxC0Vc2GfaaM_NqOWGS6pN4O31eNf9cYeLVlOWAro2fu6lKP46_8vn-OGH5mmN_8TmV6BQKdue5UaNBp45o0&t=ffffffff940d030f" type="text/javascript"></script> <script type="text/javascript"> //<![CDATA[ if (typeof(Sys) === 'undefined') throw new Error('ASP.NET Ajax client-side framework failed to load.'); //]]> </script>
ScriptResource.axd? D = x2K70A_qh5LLRPvqydlLAwONxKroPWgAGdmlhYHXFoXfUrRwcjMDwh9AgTRQkLVd0gEj8C6MhbyA_hq2RLgNpJxsoak2SQ5Dsi8RIcHR-k72-HxC0Vc2GfaaM_NqOWGS6pN4O31eNf9cYeLVlOWAro2fu6lKP46_8vn-OGH5mmN_8TmV6BQKdue5UaNBp45o0 рдФрд░ рдЯреА = ffffffff940d030f" type = "text / javascript"> </ script> <script src="/WebSite1/ScriptResource.axd?d=x2K70A_qh5LLRPvqydlLAwONxKroPWgAGdmlhYHXFoXfUrRwcjMDwh9AgTRQkLVd0gEj8C6MhbyA_hq2RLgNpJxsoak2SQ5Dsi8RIcHR-k72-HxC0Vc2GfaaM_NqOWGS6pN4O31eNf9cYeLVlOWAro2fu6lKP46_8vn-OGH5mmN_8TmV6BQKdue5UaNBp45o0&t=ffffffff940d030f" type="text/javascript"></script> <script type="text/javascript"> //<![CDATA[ if (typeof(Sys) === 'undefined') throw new Error('ASP.NET Ajax client-side framework failed to load.'); //]]> </script>
<script src="/WebSite1/ScriptResource.axd?d=JmrJ_HQ4TGD_jchBEWNRb8OenR4k6OQ7VRyH_toBPQT3JUiqiQs3R0jW7v7zXJ2kEQZHsBtgkthfErRPRvwOKI-uadU-pRHAfl5iwxP1hhqLZX5DmrmatAe9-DtrY8UpvLZcFvWHClUe3sQQzRVLcMCbnpjYQ_AnnrUMVfpTPXHnstGsM4ZnlODzOKmhM5LU0&t=ffffffff940d030f" type="text/javascript"></script> <script type="text/javascript"> //<![CDATA[ Sys.WebForms.PageRequestManager._initialize('ctl02', 'form1', ['tUpdatepanel1','Updatepanel1'], [], [], 90, ''); //]]> </script>
ScriptResource.axd? D = JmrJ_HQ4TGD_jchBEWNRb8OenR4k6OQ7VRyH_toBPQT3JUiqiQs3R0jW7v7zXJ2kEQZHsBtgkthfErRPRvwOKI-uadU-pRHAfl5iwxP1hhqLZX5DmrmatAe9-DtrY8UpvLZcFvWHClUe3sQQzRVLcMCbnpjYQ_AnnrUMVfpTPXHnstGsM4ZnlODzOKmhM5LU0 рдФрд░ рдЯреА = ffffffff940d030f" type = "text / javascript"> </ script> <script src="/WebSite1/ScriptResource.axd?d=JmrJ_HQ4TGD_jchBEWNRb8OenR4k6OQ7VRyH_toBPQT3JUiqiQs3R0jW7v7zXJ2kEQZHsBtgkthfErRPRvwOKI-uadU-pRHAfl5iwxP1hhqLZX5DmrmatAe9-DtrY8UpvLZcFvWHClUe3sQQzRVLcMCbnpjYQ_AnnrUMVfpTPXHnstGsM4ZnlODzOKmhM5LU0&t=ffffffff940d030f" type="text/javascript"></script> <script type="text/javascript"> //<![CDATA[ Sys.WebForms.PageRequestManager._initialize('ctl02', 'form1', ['tUpdatepanel1','Updatepanel1'], [], [], 90, ''); //]]> </script>
<div id="Updatepanel1"> <span>Hello world!</span> </div>

рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ UpdatePanel рдХреЗ рдЕрдВрджрд░ рд╕рд╛рджреЗ рдкрд╛рда рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдореЗрдВ 2 kb html рдФрд░ рд▓рдЧрднрдЧ 100 kb рдЕрдзрд┐рдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рд╣реИрдВред UpdatePanel рдХреЗ рдмрд┐рдирд╛ рд▓рдЧрднрдЧ 500 рдмрд╛рдЗрдЯреНрд╕ рд▓реЗрддрд╛ рд╣реИред
рджреВрд╕рд░реА рд╕рдорд╕реНрдпрд╛ рдкреГрд╖реНрда рдХрд╛ рдЬреАрд╡рди рдЪрдХреНрд░ рд╣реИред ASP.NET MVC рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХреНрдпрд╛ рдЧрд╛рдпрдм рд╣реИ, рдФрд░ рдЖрдкрдХреЛ ASP.NET WebForms рдореЗрдВ рдХреНрдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реИред рдЕрдзрд┐рдХ рдЕрдВрддрд░
рдпрд╣рд╛рдБ рд╣реИрдВ ред
UpdatePanel рдХреЗ рдЕрдВрджрд░ рдХрд┐рд╕реА рднреА рдИрд╡реЗрдВрдЯ рдХреЗ рд▓рд┐рдП, PostBack рд╣реЛрддрд╛ рд╣реИ рдФрд░ рд╕рднреА рдкреЗрдЬ рдИрд╡реЗрдВрдЯ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдХрдард┐рди рдЧрдгрдирд╛ рдпрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреНрд╡реЗрд░реА рд╣реЛ рд╕рдХрддреА рд╣реИред рдпрджрд┐ рдЖрдк рдПрдХ рд╕рд░реНрдХрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдЬреИрд╕реЗ:
if(!Page.IsPostBack) { Do somethingтАж }
рддрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЙрддрдиреА рддреЗрдЬреА рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдЬрд┐рддрдирд╛ рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг:
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреНрд░рдо рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдкреВрд░реЗ рдкреГрд╖реНрда рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓реЛрдб рдХрд┐рдП рдмрд┐рдирд╛, рдЗрд╕рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

UpdatePanel рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдпрд╣ рдХреИрд╕реЗ рдХрд░реЗрдВред
рдПрдХ http рдЕрдиреБрд░реЛрдз рд╣реИрдВрдбрд▓рд░ рд╡рд░реНрдЧ рдмрдирд╛рдПрдБ
public class CheckOrder : IHttpHandler { public void ProcessRequest(HttpContext context) { context.Response.ContentType = "application/json"; Order order = OrderService.GetOrder(context["number"]); if(order != null) { var statusResult = new { Status = order.Status, Comment = order.Comment }; context.Response.Write(JsonConvert.SerializeObject( statusResult)); } } public bool IsReusable { get { return true;} } }
рдиреНрдпреВрдЯрдирд╕реЙрдлреНрдЯ.рдЬреЙрди рд▓рд╛рдЗрдмреНрд░реЗрд░реА, JSON рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рдХреНрд░рдордмрджреНрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдЙрдкрдпреЛрдЧреА рд╣реИред рд▓реЗрдХрд┐рди рдЖрдк рд╕рд┐рд░реНрдл рдкрд╛рда рд╡рд╛рдкрд╕ рдХрд┐рдП рдмрд┐рдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЕрдЧрд▓рд╛, рд╣рдо рдПрдХ js рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рддреЗ рд╣реИрдВ, рдЬреЛ "рдЪреЗрдХ" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╕рдордп jquery рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, ajax get рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рд╕реНрдерд┐рддрд┐ рдЕрдиреБрд░реЛрдз рднреЗрдЬреЗрдЧрд╛ред
function CheckOrder(ordernum) { $.ajax({ async: false, dataType: "json", cache: false, url: "checkorder.ashx", data: { number: ordernum }, success: function (status) { $("#orderStatus").text(status.Status); $("#orderComment").text(status.Comment); }, error: function () { $("#orderStatus").text(" ")); } }); }
рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдкреНрд░рднрд╛рд╡реА рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, httphandler рдХреЗ рдмрдЬрд╛рдп, рдЖрдк рдкреГрд╖реНрда рд╢реНрд░реЗрдгреА рдореЗрдВ рд╕реНрдерд┐рд░ рд╡рд┐рдзрд┐ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕ рдЗрд╕реЗ [WebMethod] рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рдХрд░реЗрдВред
2. ViewState рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдПрдВ
ViewState WebForms рдХреА рдПрдХ рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИред рдЙрд╕рдХреЗ рдкрд╛рд╕ рдЗрд╕рдХреЗ рдкреЗрд╢реЗрд╡рд░реЛрдВ рдФрд░ рд╡рд┐рдкрдХреНрд╖ рд╣реИрдВ, рдЬреЛ рдЗрд╕
рд▓реЗрдЦ рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╡рд░реНрдгрд┐рдд рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЖрдк рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреЗрдЬреЛрдВ рдкрд░ AdvantShop.Net ViewState рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ 15 рд╕реЗ 30 kb рдерд╛, рдЬреЛ рдмрд╣реБрдд рдЕрдкреНрд░рд┐рдп рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдпреЗ рдХрд┐рд▓реЛрдмрд╛рдЗрдЯ рд╣рд░ рдкреЗрдЬ рдПрдХреНрд╕реЗрд╕ рдкрд░ рднреЗрдЬреЗ рдЧрдП рдереЗред рдХрдо рд╕реЗ рдХрдо рдЬреЛрдЦрд┐рдореЛрдВ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдХреИрд╕реЗ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ?
рдорд╛рд╕реНрдЯрд░ рдкреГрд╖реНрда рдкрд░ рдкрдВрдЬреАрдХрд░рдг рдХрд░рдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ
<%@ Master Language="C#" CodeFile="MasterPage.master.cs" Inherits="MasterPage" EnableViewState="false" ViewStateMode="Disabled" %>
рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╕рдорд╕реНрдпрд╛рдПрдВ рдЙрди рдирд┐рдпрдВрддреНрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрдВрдЧреА рдЬрд┐рдирдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд░рд╛рдЬреНрдп рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ ViewState рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, DropDownList рдпрд╛ ListViewред рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЖрдкрдХреЛ рдЕрднреА рднреА ViewState рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдкреНрд░рддреНрдпреЗрдХ рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ рдЬреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд░реБрдЪрд┐ рд░рдЦрдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП
рд▓рд┐рдВрдХ ред
3. рд╣рдо рдорд╛рдирдХ рдирд┐рдпрдВрддреНрд░рдг рдФрд░ AjaxControlToolkit рд╕реЗ рдирд┐рдХрд▓рддреЗ рд╣реИрдВ
рдРрд╕рд╛ рддрдм рд╣реБрдЖ рдЬрдм ASP.NET рдХреЗ рд▓рд┐рдП рдирд┐рдпрдВрддреНрд░рдгреЛрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╣реБрдП Microsoft рдиреЗ рд▓реЗрдЖрдЙрдЯ рдХреА рд╕реНрд╡рдЪреНрдЫрддрд╛ рдФрд░ рдЗрд╖реНрдЯрддрдорддрд╛, рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдЗрди рдирд┐рдпрдВрддреНрд░рдгреЛрдВ рдХреА рдЧрддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВ рд╕реЛрдЪрд╛ред GridView рдмрд╣реБрдд рдзреАрдорд╛ рд╣реИ, TreeView рдПрдХ рднрдпрд╛рдирдХ рд▓реЗрдЖрдЙрдЯ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ, рдХреИрд▓реЗрдВрдбрд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдФрд░ HTML рдХреЛ рдЕрд▓рдЧ рдХрд░рддрд╛ рд╣реИред рдЬреЛ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рдереЗ, рд╡реЗ рдЕрдкрдиреЗ рд▓рд┐рдП рджреЗрдЦ рд╕рдХрддреЗ рдереЗред
рдПрдХ рд╕рд░рд▓ рддрд░реАрдХрд╛ рдпрд╣ рд╣реИ рдХрд┐
jquery рдкреНрд▓рдЧрдЗрдиреНрд╕ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп
js рдЪреМрдЦрдЯреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ ред
4. рдкреГрд╖реНрда рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЫреЛрдЯрд╛ рдХрд░реЗрдВ
рд╕рд╛рдЗрдЯ рдХреА рдЧрддрд┐ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕рд░реНрд╡рд░ рд╕реЗ http рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрдо рдХрд░рдиреЗ рдФрд░ рдкреГрд╖реНрдареЛрдВ рдХреА рд╕реНрдерд┐рд░ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдпрдерд╛рд╕рдВрднрд╡ рд╕рдВрдкреАрдбрд╝рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: рдЪрд┐рддреНрд░, рд╕реАрдПрд╕рдПрд╕ рдФрд░ рдЬреЗрдПрд╕ рдлрд╛рдЗрд▓реЗрдВред рдпрд╣рд╛рдВ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реИ - рд╣рдо рдЙрдЪреНрдЪ рд╕рдВрдкреАрдбрд╝рди рдЕрдиреБрдкрд╛рдд рдФрд░ рд╕реНрдкреНрд░рд╛рдЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд╕реАрдПрд╕рдПрд╕ рдФрд░ рдЬреЗрдПрд╕ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╡рд┐рд╢реЗрд╖
рдиреНрдпреВрдирддрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрдХреБрдЪрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рдЖрдкрдХреЛ рджреЛ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛: рд╕рдВрдкрд╛рджрди рдФрд░ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рдПрдХ, рдФрд░ рдЙрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдиреНрдпреВрдирддрдо рдПрдХред
рджреВрд╕рд░рд╛ рддрд░реАрдХрд╛ рд╕реНрдХреНрд╡рд┐рд╢ рдЗрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред рдРрд╕рд╛ рдХреИрд╕реЗ рдХрд░реЗрдВ, рдЖрдк
рдпрд╣рд╛рдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред рдирддреАрдЬрддрди, рд╣рдо рд╕рднреА рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЬреЗрдПрд╕ рдФрд░ рд╕реАрдПрд╕рдПрд╕ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рдФрд░ рдХрдо рд╕реЗ рдХрдо рдХрд░рддреЗ рд╣реИрдВ, рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкреЗрдЬ рд▓реЛрдб рд╕рдордп рдХреЛ рджреЛ рд╕реЗрдХрдВрдб рддрдХ рдмрдврд╝рд╛рддреЗ рд╣реИрдВред
рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ:

рдХреЗ рдмрд╛рдж:

5. HTML рдХреЛ рдХрдВрдкреНрд░реЗрд╕ рдХрд░реЗрдВ
рдЕрдзрд┐рдХрд╛рдВрд╢ рдмреНрд░рд╛рдЙрдЬрд╝рд░ GZip рдпрд╛ рд╕рдВрдкреАрдбрд╝рди рдХреЛ рд╕рдВрдХреБрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдПрдХ рд╡рд░реНрдЧ рдмрдирд╛рдПрдВ рдЬреЛ рд╕рдВрдкреАрдбрд╝рди рдХрд░реЗрдЧрд╛ред
namespace AdvantShop.Core.Compress { public class CompressContent : IHttpModule { public void Dispose() {
рдлрд┐рд░, рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕ web.config рдореЗрдВ рд▓рд╛рдЗрдиреЗрдВ рдЬреЛрдбрд╝реЗрдВ:
<modules> <add name="CompressContent" type="AdvantShop.Core.Compress.CompressContent"/> </modules>
рд╣рдореЗрдВ рдЪрд╛рд░ рдмрд╛рд░ рдкрд╛рда рдХрд╛ рд╕рдВрдкреАрдбрд╝рди - рдПрдХ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рддрд╛ рд╣реИред рдФрд░ рди рдХреЗрд╡рд▓ html рд╕рдВрдкреАрдбрд╝рд┐рдд рд╣реИ, рдмрд▓реНрдХрд┐ js рдФрд░ css рднреА рд╣реИред
рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:

рдХреЗ рдмрд╛рдж:

6. рдХреИрд╢реЗ UserControls
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд┐рдпрдВрддреНрд░рдг рдХреЛ рдХреИрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдпрдВрддреНрд░рдг рд╢реАрд░реНрд╖рд▓реЗрдЦ рдореЗрдВ рдлрд╝реЙрд░реНрдо рдХреА рдПрдХ рдкрдВрдХреНрддрд┐ рдбрд╛рд▓реЗрдВ:
<%@ OutputCache Duration="60" VaryByParam="CategoryID" %>
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдо рд╕рдВрдХреЗрдд рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рдирд┐рдпрдВрддреНрд░рдг рдХреЛ 60 рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рдХреИрд╢ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдХреИрд╢ рдХрд╛ рдЕрдкрдирд╛ рд╕рдВрд╕реНрдХрд░рдг рдЕрдиреБрд░реЛрдз ["рд╢реНрд░реЗрдгреА" рд╕реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдПрдХ рдирд┐рд╖реНрдХрд░реНрд╖ рдХреЗ рдмрдЬрд╛рдп
рдпреЗ рдХреЗрд╡рд▓ рдореВрд▓ рддреНрд╡рд░рдг рд╡рд┐рдзрд┐рдпрд╛рдВ рд╣реИрдВ рдЬреЛ рд╡реЗрдмрдлрд╛рд░реНрдо рдкрд░ рдЕрдзрд┐рдХ рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдиреНрдп рддрд░реАрдХреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдордд рднреВрд▓рдирд╛, рдЦрд╛рд╕рдХрд░ рдЙрди рд▓реЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЗрд╕ рдЙрдкрдпреЛрдЧреА рдЙрдкрдХрд░рдг рджреНрд╡рд╛рд░рд╛ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ -
рдкреЗрдЬрд╕реНрдкреАрдб ред