рдЕрдкрдиреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╢рдмреНрдж - рдореИрдВ рдЗрдирдХреЛрдбрд┐рдВрдЧ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВ, рдПрдХ рдХрдВрдкрдиреА рдЬреЛ рдХрдИ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЖрдЙрдЯрд╕реЛрд░реНрд╕рд┐рдВрдЧ рдХрд░ рд░рд╣реА рд╣реИ, рд╡рд┐рднрд┐рдиреНрди рдХреНрд╖реЗрддреНрд░реЛрдВ (рдЗрдВрдЯрд░рдиреЗрдЯ, рдореИрд╕реЗрдЬ рдмреЛрд░реНрдб, рд╕реЛрд╢рд▓ рдиреЗрдЯрд╡рд░реНрдХ рдФрд░ рдмрд╣реБрдд рдХреБрдЫ) рдореЗрдВ рдЗрдВрдЯрд░рдиреЗрдЯ рдФрд░ рдЗрдВрдЯреНрд░рд╛рдиреЗрдЯ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдЕрдВрдЬрд╛рдо рджреЗ рд░рд╣реА рд╣реИредрдЗрдВрдХреЛрдбрд┐рдВрдЧ рдлреНрд░реЗрдорд╡рд░реНрдХ asp.net mvc рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рд╡реЗрдм рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреНрд▓рд╛рдЗрдВрдЯ / рд╕рд░реНрд╡рд░ рд╕рдорд╛рдзрд╛рди рд╣реИред
рддреАрди рднрд╛рдЧреЛрдВ рд╕реЗ рдорд┐рд▓рдХрд░ рдмрдирддрд╛ рд╣реИ:
- рд╕рд░реНрд╡рд░ - CQRS рдФрд░ рдИрд╡реЗрдВрдЯ рдмреНрд░реЛрдХрд░ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
- рдпреВрдирд┐рдЯ рдЯреЗрд╕реНрдЯ рдХреЙрдиреНрдЯреНрд░рд┐рдм - рдЬрд▓реНрджреА рд╕реЗ рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдПрдХ рд╕реЗрдЯ
- рдЧреНрд░рд╛рд╣рдХ - рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реИ:
- IML - рдПрдХ рдШреЛрд╖рдгрд╛рддреНрдордХ рднрд╛рд╖рд╛ (рдЗрдВрдХреЛрдбрд┐рдВрдЧ рдореЗрдЯрд╛ рд▓реИрдВрдЧреНрд╡реЗрдЬ) рдЬреЛ рдЖрдкрдХреЛ C # рдореЗрдВ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ
- рдореЙрдбрд▓ рд╡реНрдпреВ рдбрд┐рд╕реНрдкреИрдЪрд░ (MVD) - MVC рдкрд░ CQRS, рдЖрдкрдХреЛ рдЗрдВрдЯрд░рд╡реНрдпреВ рд▓рд┐рдЦрдиреЗ рд╡рд╛рд▓реЗ рдХреЗ рдмрд┐рдирд╛ рдХрдорд╛рдВрдб рдФрд░ рдХреНрд╡реЗрд░реА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ
рдзреНрдпрд╛рди рджреЗрдВ: рдЗрдирдХреЛрдбрд┐рдВрдЧ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреА рдЦрд╝рд╛рд╕рд┐рдпрдд рдпрд╣ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рднрд╛рдЧ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рд╣реЛрддрд╛ рд╣реИ (IML AJAX рдХреЗ рд▓рд┐рдП MVD рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, MVD CQRS рдЪрд▓рд╛рддрд╛ рд╣реИ, рдЖрджрд┐), рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдЕрд▓рдЧ рд╕реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (Nuget рдкрд░ 3 рд╕реНрд╡рддрдВрддреНрд░ рдкреИрдХреЗрдЬ рд╣реИрдВ)рдЪреВрдВрдХрд┐ рдПрдХ рд▓реЗрдЦ рдореЗрдВ рд░реВрдкрд░реЗрдЦрд╛ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рднрд╛рдЧ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдорд╛рд░реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдШрдЯрдХ рдкрд░ рдЬреЛрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ - рдпрд╣ рдЖрдИрдПрдордПрд▓ рд╣реИред рдореИрдВрдиреЗ рдХреНрд▓рд╛рдЗрдВрдЯ рднрд╛рдЧ рдкрд░ рдкреНрд░рдХрд╛рд╢ рдХреНрдпреЛрдВ рдбрд╛рд▓рд╛, рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ CQRS, рдЗрд╡реЗрдВрдЯ рдмреНрд░реЛрдХрд░ рдФрд░ рдпреВрдирд┐рдЯ рдЯреЗрд╕реНрдЯ рдореЗрдВ .net рджреБрдирд┐рдпрд╛ рдХреЗ рдХрдИ рдПрдирд╛рд▓реЙрдЧ рд╣реИрдВ рдФрд░ рдпрд╣ рдЬрд▓реНрджреА рд╕реЗ рджрд┐рд▓рдЪрд╕реНрдкреА рд▓реЗрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ), рд▓реЗрдХрд┐рди IML рдПрдХ рдРрд╕рд╛ рдЙрдкрдХрд░рдг рд╣реИ рдЬреЛ рдЕрднреА рддрдХ рдирд╣реАрдВ рд╣реИ рдкреНрд░рддреНрдпрдХреНрд╖ рдПрдирд╛рд▓реЙрдЧред
рдЗрд╕рдХрд╛ рдХреЛрдИ рдПрдирд╛рд▓реЙрдЧ рдирд╣реАрдВ рд╣реИ, рдлрд┐рд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХреИрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ?
IML рдХрд╛ рдХреЛрдИ рд╕реАрдзрд╛ рдПрдирд╛рд▓реЙрдЧ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рд╣реИрдВ:
- рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ
- jQuery
- AngularJS, Backbone, Marionette
- рдЯрд╛рдЗрдкрдкреНрд░рддрд┐
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдмрд┐рдирд╛, рдПрдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдирд╣реАрдВ
рдЖрдкрдХреЛ рд╕рднреА рдХрдард┐рдирд╛рдЗрдпреЛрдВ рд╕реЗ рдирд┐рдкрдЯрдирд╛ рд╣реЛрдЧрд╛:
- рдХреЗрд╡рд▓ рд░рдирдЯрд╛рдЗрдо рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ
- рдПрдХ рдЧрддрд┐рд╢реАрд▓ рднрд╛рд╖рд╛ рдШрдЯрдХ рдЬреЛ рдмрдбрд╝реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдмрди рдЬрд╛рддрд╛ рд╣реИ
- рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдЕрд╢рдХреНрдд рдЕрд▓рдЧ рд╣реИ (рдЕрд╢рдХреНрдд, рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд, 'рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд')
- рдФрд░ рдЕрдирдЫреБрдП рднрд╛рд╖рд╛рдУрдВ рдХреЗ рдХрдИ рдЕрдиреНрдп "рдЖрдХрд░реНрд╖рдг"
рдореИрдВрдиреЗ рд╕реБрдирд╛ рдирд╣реАрдВ, рдореЗрд░реЗ рдкрд╛рд╕ jquery рд╣реИ
рдЬреЗрдХреНрд╡реЗрд░реА рдХреЗ рдЖрдЧрдорди рдХреЗ рд╕рд╛рде, рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдЖрд╕рд╛рди рд╣реЛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрд▓рд╛рдЗрдВрдЯ рдХреА рдУрд░ рд╕реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рдмрдврд╝рддреА рдЬрдЯрд┐рд▓рддрд╛ рдХреЗ рд╕рд╛рде, рдбрдмрд┐рдВрдЧ рдХреЗ рдмрдврд╝рддреЗ рд╕реНрддрд░ рдХреЗ рдХрд╛рд░рдг рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рдЙрдЪрд┐рдд рдирд╣реАрдВ рдард╣рд░рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдРрд╕реА рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ "рд╕реБрд╡рд┐рдзрд╛рдПрдБ" рдЬреИрд╕реЗ рдХрд┐ рд╡реИрд╢реНрд╡рд┐рдХ рдХрд╛рд░реНрдп рдФрд░ рдЪрд░ рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рд╕рдорд░реНрдерди рджреЗрдирд╛ рдФрд░ рднреА рдХрдард┐рди рдмрдирд╛ рджреЗрддреА рд╣реИрдВред ред
рдареАрдХ рд╣реИ, рдЪрд▓реЛ рдпреВрдЖрдИ рдкрд░ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╣реИрдВ
JS рдкрд░ рдирд┐рд░реНрдорд┐рдд MVVM рдпрд╛ MVC рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдХреЛрдИ рдореЙрдбрд▓ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд╛рдЗрдб рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕реЗ рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рдкрд░ рдПрдХ рдХреЗ рд╕рд╛рде рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЬрд╝ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдпрд╣ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдлреНрд░рдВрдЯ рдПрдВрдб рдмреИрдХ рдПрдВрдб рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддрд╛ рд╣реИред
рдиреЛрдЯ: рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рд╕рд░реНрд╡рд░ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдмреЗрд╣рдж рдЕрд╕рдлрд▓ рд▓рдЧрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЛ рдЙрдирдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╕рдордиреНрд╡рдп рдХрд░рдирд╛ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рд╣рдореЗрд╢рд╛, рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рддреЗрдЬреА рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХреЛрдИ рдзреАрдорд╛ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдкрдХреНрд╖ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред редрдЦрд░реЛрдВрдЪ рд╕реЗ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдврд╛рдВрдЪреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП AngularJS, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдЖрдкрдХреЛ рдирд┐рдпрдВрддреНрд░рдХ, рдорд╛рд░реНрдЧреЛрдВ рдФрд░ рдмрд╣реБрдд рдХреБрдЫ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛, рдореМрдЬреВрджрд╛ рдХреЛрдб рдХреЛ asp.net mvc рдкрд░ рджреЛрд╣рд░рд╛рддреЗ рд╣реБрдПред рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛, рд╕рднреА рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреА рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛ рд╣реИред рдЖрдкрдХреЛ JS рдХреЛрдб рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛
рдУрд╣, рдФрд░ рдпрджрд┐ рдЬреЗрдПрд╕ рдХреЗ рдмрд┐рдирд╛
рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдПрдХ рдЯрд╛рдЗрдкреНрдЯрд░ рджреБрднрд╛рд╖рд┐рдпрд╛ рдпрд╛ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рднрд╛рд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрдиреЗ рдХреА рдкреНрд░рд╡реГрддреНрддрд┐ рд╡рд┐рдХрд╕рд┐рдд рд╣реБрдИ рд╣реИ
рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреА рддрд░рд╣ рд╕реА # рдореЗрдВред рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдЖрдИрдПрдордПрд▓ рдореЗрдВ рдХреНрдпрд╛ рдЕрдВрддрд░ рд╣реИ:
- рдХреЛрдИ рддреИрдпрд╛рд░ рдХрд╛рд░реНрдп рдирд╣реАрдВ рд╣реИ (IML рдПрдХ рдШреЛрд╖рдгрд╛рддреНрдордХ рднрд╛рд╖рд╛ рд╣реИ рдЬреЛ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдирд╣реАрдВ)
- рдПрдХ рдирдИ рднрд╛рд╖рд╛ рд╕реАрдЦрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ (IML C #)
- рдкрд░рд┐рдгрд╛рдореА JS рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (IML C #)
- рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдирд╣реАрдВ рд╣реИ (IML asp.net mvc рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд)
рдареАрдХ рд╣реИ, рддреЛ рдЖрдИрдПрдордПрд▓ рдХреИрд╕реЗ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ?
IML рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдХреЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рднреА рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рддрд░реАрдХреЛрдВ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рддрд╛ рд╣реИред рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЗрд╡реЗрдВрдЯ рдореЙрдбрд▓ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЬреИрд╕рд╛ рдХрд┐ рдЕрднреНрдпрд╛рд╕ рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ, рдЗрддрдиреЗ рд╕рд╛рд░реЗ рдкрд░рд┐рджреГрд╢реНрдп рдирд╣реАрдВ рд╣реИрдВред
рдЖрдЗрдП рдорд╛рдирдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рджреЗрдЦреЗрдВ:
- рдПрдХ рдИрд╡реЗрдВрдЯ DOM рддрддреНрд╡ (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдпрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреА рдУрд░ рд╕реЗ) рдкрд░ рдЙрдард╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
- рдХрд╛рд░реНрд░рд╡рд╛рдИ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ (рдЕрдХреНрд╕рд░ рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ url рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЬрд╛рдХреНрд╕ рдЕрдиреБрд░реЛрдз рд╣реИ)
- рдХреНрд░рд┐рдпрд╛ рдкреВрд░реНрдг рдХреЙрд▓рдмреИрдХ рдЬреЛ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ (рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдирд╛, DOM рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛, CSS рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛, jQuery рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ)
рдореБрдЭреЗ рдХреЛрдб рджрд┐рдЦрд╛рдПрдВ, рдЕрднреА рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рдПрдЧрд╛
Html.When(JqueryBind.InitIncoding) .Do() .AjaxGet(Url.Dispatcher().Query(GetCardsQuery { Client = Html.Selector.Name(r=>r.Client) })) .OnSuccess(dsl => dsl.Self().Core().Insert.WithTemplate(idTemplate.ToId()).Html()) .AsHtmlAttributes() .ToDiv()
рдмреЗрд╣рддрд░ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо
IML рдШреЛрд╖рдгрд╛рддреНрдордХ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рд╡рд░реНрдгрди рдЖрд╕рд╛рдиреА рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
- рдЬрдм InitIncoding - рдЬрдм рдХреЛрдИ рдИрд╡реЗрдВрдЯ рдкреГрд╖реНрда рдкрд░ рдХреЛрдИ рддрддреНрд╡ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ
- рдИрд╡реЗрдВрдЯ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ - рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЛ рд░реЛрдХреЗрдВ, рдкреНрд░рдЪрд╛рд░ рдХреЛ рд░реЛрдХреЗрдВ)
- рдХреНрд░рд┐рдпрд╛ - рдирд┐рд░реНрджрд┐рд╖реНрдЯ url рдХреЗ рд▓рд┐рдП ajax рдЕрдиреБрд░реЛрдз
рдзреНрдпрд╛рди рджреЗрдВ: рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, MVD рдХрд╛ рдЙрдкрдпреЛрдЧ url рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдкреБрд░рд╛рдиреЗ рдЬрдорд╛рдиреЗ рдХреЗ Url.Action ("рдХрдВрдЯреНрд░реЛрд▓рд░", "рдПрдХреНрд╢рди", рдирдП {рдХреНрд▓рд╛рдЗрдВрдЯ = Html.Selector.Name (r = rClClient)} рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)
- рдСрди - рдПрдХреНрд╢рди рдХреЗ рд╕рдлрд▓ рд╕рдорд╛рдкрди рдкрд░, рд╣рдо рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдПрдХ рдХреНрд░рдо рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╣реИ
- AsHtmlAttributes - рд╣рдо рдЕрдкрдиреЗ IML рдХреЛрдб рдХреЛ рдПрдХ "рдЧрд░реНрдо рдФрд░ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп" рд░реВрдЯрд╡реИрд▓реНрдпреВрдбрд╛рдЙрди рдореЗрдВ рдкреИрдХ рдХрд░рддреЗ рд╣реИрдВ
- ToDiv - рдкреЗрдЬ рдХреЛ Div рдХреЗ рд░реВрдк рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд░реЗрдВ (рдХрд┐рд╕реА рднреА рдЯреИрдЧ рдореЗрдВ рд╕рдВрднрд╡)
рд╕рдВрд░рдЪрдирд╛рддреНрдордХ рдЖрд░реЗрдЦ рдХреЛ рд╕рдордЭрдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛

IML рдХреЗ рдЕрдиреНрдп рдХрд╛рд░рдг рдХреНрдпрд╛ рд╣реИрдВ?
рдпрджрд┐ рдЖрдк IML рдХреЗ рдореБрдЦреНрдп рд▓рд╛рднреЛрдВ рдкрд░ рдкреНрд░рдХрд╛рд╢ рдбрд╛рд▓рддреЗ рд╣реИрдВ, рддреЛ:
- рдЬреЗрдПрд╕ рдирд╣реАрдВ - рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╡рд╣ рд╣реИ рдЬреЛ рдЖрдИрдПрдордПрд▓ рдХреЛ рдЕрдиреНрдп рд╕рдорд╛рдзрд╛рдиреЛрдВ рд╕реЗ рдЕрд▓рдЧ рдХрд░рддрд╛ рд╣реИ
- рдЯрд╛рдЗрдкрд┐рдВрдЧ рдкрд╣рд▓реЗ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдХрд╛ рдкреНрд░рднрд╛рд╡ рд╣реИ, рдЖрдкрдХреЛ рдЬреЗрдПрд╕ рдХреНрд▓реЛрдЬрд░ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рд╕реЛрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ "var" рдпрд╣рд╛рдВ рдХреНрдпрд╛ рд╣реИ рдпрд╛ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рддрдиреЗ рддрд░реНрдХ рд╣реИрдВ
- рдорд╛рдирдХ - рдШреЛрд╖рдгрд╛рддреНрдордХ рднрд╛рд╖рд╛ рдПрдХ рдЯреАрдо рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИ
- JSON (рдмрд╛рдХреА рдПрдкреА) рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдЯреЗрдореНрдкреНрд▓реЗрдЯ - рдХрдИ рд╕рдорд╛рдзрд╛рди рдРрд╕реЗ рдмрдВрдбрд▓ рдореЗрдВ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрдирдХреЛрдбрд┐рдВрдЧ рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рд╕рднреА рдЙрдкрдХрд░рдг рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИрдВ
рдпрд╣рд╛рдБ, рд╣рдореЗрдВ C # рдмрддрд╛рдПрдВ
рд╕реА # рднрд╛рд╖рд╛ рд╕рдВрднрд╡рддрдГ рд╕рдмрд╕реЗ рдЕрдореАрд░ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд░рдЦрддреА рд╣реИ рдФрд░ рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдпрд╣ рд╕рдм рдЖрдкрдХреЗ рд░реЗрдЬрд░ рдкреЗрдЬ рдХреЗ рднреАрддрд░ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд, рдЕрдирд╛рдо рдлрд╝рдВрдХреНрд╢рдВрд╕, рд▓реИрдореНрдмреНрдбрд╛ рдФрд░ рднреА рдмрд╣реБрдд рдХреБрдЫ, рдЬреЛ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдХреЛ рдлрд┐рд░ рд╕реЗ рднрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
- рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдПрдЪрдЯреАрдПрдордПрд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛, рдЬреЛ рдлрд┐рд░ рд╕реЗ рд╡рд┐рднрд┐рдиреНрди рдкреГрд╖реНрдареЛрдВ рдкрд░ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рддреА рд╣реИред
@Html.Project().Load(setting => { setting.Template = Selector.Jquery.Id(tmplId); setting.Url = Url.Dispatcher().Query(GetCardsQuery { Client = Html.Selector.Name(r=>r.Client) }); })})
рдиреЛрдЯ: рдХреЛрдб рд╡рд╣реА рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдкрд╣рд▓реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдорд╛рдирд╛ рдЧрдпрд╛ рдерд╛
- рдЕрдирд╛рдо рдлрд╝рдВрдХреНрд╢рди, рд╕рд╣реА рдореЗрдВ MvcHtmlString рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП
@{ Func<bool, mvchtmlstring=""> createComplete = (value) => Html.When(JqueryBind.Change) .Do() .AjaxPost(Url.Dispatcher().Push(new SomeCommand { IsAdmission = each.For(r => r.IsAdmissionComplete) })) .OnSuccess(dsl => // something ) .AsHtmlAttributes() .ToCheckBox(value); } @using (each.Is(r => r.IsComplete)) { @createComplete(true) } @using (each.Not(r => r.IsComplete)) { @createComplete(false) }
рдХреНрдпрд╛ рдпрд╣ рд╕рдм рдареАрдХ рд╣реИ?
рдпрд╣рд╛рдВ рдЗрдВрдХреЛрдбрд┐рдВрдЧ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдирдХрд╛рд░рд╛рддреНрдордХ рдкрд╣рд▓реБрдУрдВ рдХреА рдПрдХ рд╕реВрдЪреА рджреА рдЧрдИ рд╣реИ
- рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рд╕рдореБрджрд╛рдп рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рд╣реИ, рдЬреЛ рд╕рдорд╛рди рд╡рд┐рдЪрд╛рд░рдзрд╛рд░рд╛ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реЛрдирд╛ рдмрд╣реБрдд рдЬрд░реВрд░реА рд╣реИ, рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ
рд╣рдорд╛рд░реА рдХрдВрдкрдиреА рдФрд░ рдХрдИ рдкрд░рд┐рдЪрд┐рдд рдЯреАрдо - рд╣рдореЗрдВ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рд╣рдо рдЙрди рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреА рджрд┐рд╢рд╛ рдореЗрдВ рдЖрдЧреЗ рдмрдврд╝ рд░рд╣реЗ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рдЗрдирдХреЛрдбрд┐рдВрдЧ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдЙрддреНрдкрд╛рджрдХ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдкрдХрд░рдг рдкреВрд░реЗ рд╡рд┐рдХрд╛рд╕ рдЪрдХреНрд░ рдХреЛ рдХрд╡рд░ рдХрд░рддрд╛ рд╣реИ
- рдкреНрд░рд▓реЗрдЦрди - рдкрд┐рдЫрд▓реЗ рд╕рд╛рд▓ 2 рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рдЦреБрд▓реЗ рд╕реНрд░реЛрдд рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реБрдИ рдереАрдВ рдФрд░ 20 рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдП рдЧрдП рдереЗ, рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рд╕рднреА рд╡рд┐рд╡рд░рдгреЛрдВ рдХреЛ рдХрд╡рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
рдирд┐рд╖реНрдХрд░реНрд╖
рд╢реБрд░реБрдЖрдд рдореЗрдВ рдореИрдВрдиреЗ рд▓рд┐рдЦрд╛ рдерд╛ рдХрд┐ рд╣рдорд╛рд░реА рдХрдВрдкрдиреА рд╡рд┐рднрд┐рдиреНрди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд▓рдЧреА рд╣реБрдИ рд╣реИ, рдореИрдВрдиреЗ рдЗрд╕ рдмрд╛рдд рдкрд░ рдЬреЛрд░ рджрд┐рдпрд╛ рдХрд┐ рдЗрдирдХреЛрдбрд┐рдВрдЧ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕реАрдорд╛ рдмрд╣реБрдд рдмрдбрд╝реА рд╣реИред рдХрдИ рд▓реЛрдЧ рдХрд╣реЗрдВрдЧреЗ рдХрд┐ рд▓рдЧрднрдЧ рд╣рд░ рдХрдВрдкрдиреА рдЕрдкрдиреЗ рд▓рд┐рдП рдЦреБрдж рдХрд╛ рдврд╛рдВрдЪрд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдордиреЗ рдПрдХ рдРрд╕рд╛ рдЯреВрд▓ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рджреВрд╕рд░реА рдЯреАрдореЛрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рд╕реБрдирдиреЗ рдХреЗ рд▓рд┐рдП
рдкреАрдПрд╕ рдЧреНрд▓реИрдб