рдЕрд╕реНрд╡реАрдХрд░рдг : рд▓реЗрдЦ рдЖрд▓реЛрдЪрдирд╛ (рдЬреЛ
рд╣рдм рдкрд░ рдЧрд┐рд░ рдЧрдпрд╛) рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╣реИ, рд▓реЛрдХрдкреНрд░рд┐рдп
рдЯреЛрдбреЛ рдПрдорд╡реАрд╕реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдЙрджрд╛рд╣рд░рдг рдкрд░ рдЖрдИрдПрдордПрд▓ рдХреА рдХреНрд╖рдорддрд╛ рдХрд╛ рдЦреБрд▓рд╛рд╕рд╛ рдХрд░рддрд╛ рд╣реИред
рдХрдл рдорд┐рд▓рд╛
рдЖрд▓реЛрдЪрдирд╛ рдореЗрд░реЗ рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдкрд░ рдЙрдареА рдЪрд░реНрдЪрд╛ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдПрдХ рдмрд╣реБрдд рд╣реА рдирд░рдо рд╢рдмреНрдж рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рдзрдбрд╝рдХрди рдХреА рддрд░рд╣ рдЕрдзрд┐рдХ рдерд╛ рдЬрд┐рд╕рдореЗрдВ рдмреЗрд╣рдж рдЕрдкреНрд░рд┐рдп рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдереАрдВ (рдлреЛрдЯреЛ рд╢реАрд░реНрд╖ рднреНрд░рдо рдореЗрдВ), рд▓реЗрдХрд┐рди рдпрд╣ рднреА рдЙрджреНрджреЗрд╢реНрдп:
- AngularJs рдХреЛрдб рдПрдХ рдлрд╡реНрд╡рд╛рд░рд╛ рдирд╣реАрдВ рд╣реИ - рдпрд╣ рдЦрдВрдбрди рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡реЗ рд╕рднреА рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕рд╛рдЗрдЯ рдФрд░ рд▓реЛрдХрдкреНрд░рд┐рдп рдЧрд╛рдЗрдб рд╕реЗ рдереЗ
- рдХрдордЬреЛрд░ рдЙрджрд╛рд╣рд░рдг - рдЬреЛрд░ рдХрд╛рдо рдкрд░ рдерд╛, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░ рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдПрдХ рдЕрдзрд┐рдХ рд╡реНрдпрд╛рдкрдХ рд╕рдорд╛рдзрд╛рди рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреНрд░рдХрдЯ рдХрд░рддрд╛ рд╣реИ (рдореИрдВрдиреЗ рд╣рдорд╛рд░реА рдХреБрдЫ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рд╣реИ рдЬреЛ рдЦреБрд▓реЗ рд╕реНрд░реЛрдд рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛)
- AngularJs рдирд╣реАрдВ рдЬрд╛рдирддреЗ? - рд╕реНрдкрд╖реНрдЯ рдХрд╛рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдПрдВрдЧреБрд▓рд░рдЬ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдмрд╣реБрдд рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ
- JS рд╡рд┐рд╖рдп рдПрдХ рдЧрдВрднреАрд░ рдЧрд▓рддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ asp.net mvc рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛, рдЯрд╛рдЗрдк рдХрд┐рдП рдЧрдП TextBoxFor рдФрд░ рдЕрдиреНрдп рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рдЖрдХрд░реНрд╖рдг рдХреЛ рд╕рдордЭрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред
рдЯреВрдбреЛ рдХреНрдпреЛрдВ?
рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ, рд╣рдордиреЗ IML рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рдкреНрд░рдорд╛рдг рдХреЗ рд░реВрдк рдореЗрдВ "рдЯреЛрдбреЛ рдПрдорд╡реАрд╕реА" рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛, рдФрд░ рдЕрдм рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдЗрд╕рдореЗрдВ рдХреНрдпрд╛ рд╣реБрдЖред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ,
рдбреЗрдореЛ рд╕рдВрд╕реНрдХрд░рдг, рдЬрд┐рд╕рдореЗрдВ рдЬреЗрдПрд╕ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдП рдЧрдП рд▓реЛрдЧреЛрдВ рд╕реЗ рдПрдХ рдЕрдВрддрд░ рд╣реИ, рдпрд╣ рд╣реИ рдХрд┐ рднрдВрдбрд╛рд░рдг рд╕реНрдерд╛рдиреАрдп рднрдВрдбрд╛рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдбреЗрдЯрд╛рдмреЗрд╕, рд╕рд╛рде рд╣реА
рд╕реНрд░реЛрдд рдХреЛрдб , рдЬрд┐рд╕реЗ рд╣рдо рдмрд╛рдж рдореЗрдВ рдкреЛрд╕реНрдЯ рдореЗрдВ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВрдЧреЗред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдореИрдВрдиреЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рд╕рднреА рддрд░реНрдХ (рддрд╣рдЦрд╛рдиреЗ рдХреА рдЧрдгрдирд╛, рддрддреНрд╡реЛрдВ рдХреЛ рдЫреБрдкрд╛рдирд╛, рдЖрджрд┐) рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдкрд░, "рдкреЙрдЗрдВрдЯрд╡рд╛рдЗрдЬрд╝" рддрддреНрд╡реЛрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╕рд╛рди (рдХрднреА-рдХрднреА рдЖрд╡рд╢реНрдпрдХ рд╣реИ), рдЬрд┐рд╕рдореЗрдВ рдЖрдИрдПрдордПрд▓ рдХреЛрдб рд╣реЛрддрд╛ рд╣реИ, рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдЧрдгрдирд╛ рдХрд░рдиреЗ рдФрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдЬрд╛рдирддреЗ рд╣реИрдВред ред
рдХреЛрдб рдХреА рд╕рдореАрдХреНрд╖рд╛
рдЗрд╕ рдмрд╛рд░ рдХрд╣рд╛рдиреА рдХрд╣рдиреЗ рдХреА рд╢реИрд▓реА рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╛рдзрд╛рди рдХреА рддреБрд▓рдирд╛ рдирд╣реАрдВ рд╣реЛрдЧреА (рдЕрдиреНрдпрдерд╛ рд╕рд╛рдордЧреНрд░реА рдХреА рдорд╛рддреНрд░рд╛ рдмрдбрд╝реА рд╣реЛрдЧреА), рд▓реЗрдХрд┐рди рдЯреВрдбреЛ рдЖрд╡реЗрджрди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╕рдордп рдкреНрд░рд╛рдкреНрдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдХреЛрдб рдХреА рд╕рдореАрдХреНрд╖рд╛ред рдореИрдВрдиреЗ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдЖрдИрдПрдордПрд▓ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдПрдХ рд╕рд░реНрд╡рд░ рднрд╛рдЧ рднреА рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рдЙрджреНрджреЗрд╢реНрдп рддреБрд▓рдирд╛ рдХреЗ рд▓рд┐рдП рд╣рд▓ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕рдорд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдХреЗрд╡рд▓ рдЧреНрд░рд╛рд╣рдХ рднрд╛рдЧ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реЗрдВрдЧреЗред
рдЗрд╕рдореЗрдВ рдХреНрдпрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ
рдХреЛрдб рдХреЛ 3 рд╡реНрдпреВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
- рд╕реВрдЪрдХрд╛рдВрдХ - рдореБрдЦреНрдп рдкреГрд╖реНрда (рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдПрдХ)
- Todo_List_Tmpl - рдХреЗрдВрджреНрд░реАрдп рд╕реВрдЪреА рдмрдирд╛рдиреЗ рдХрд╛ рдЦрд╛рдХрд╛
- Todo_Footer_Tmpl - рд╕рдВрдХреЗрддрдХреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рддрд╣рдЦрд╛рдиреЗ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдЯреЗрдореНрдкрд▓реЗрдЯ

рд╕реВрдЪрдХрд╛рдВрдХ (рддреАрди рддрддреНрд╡реЛрдВ рд╕реЗ рдорд┐рд▓рдХрд░)
TODO рдлреЙрд░реНрдо рдЬреЛрдбрд╝реЗрдВ
@using (Html.When(JqueryBind.Submit) .DoWithPreventDefault() .Submit(options => { options.Url = Url.Dispatcher() .Push(new AddTodoCommand { ClientId = Selector.Incoding.Cookie(CookieManager.ClientId) }); }) .OnSuccess(dsl => { dsl.WithId(containerId).Core().Trigger.Incoding(); dsl.Self().Core().Form.Reset(); }) .AsHtmlAttributes() .ToBeginTag(Html, HtmlTag.Form)) { @Html.TextBoxFor(r => r.Title, new { placeholder = "What needs to be done?", autofocus = "" }) }
рдзреНрдпрд╛рди рджреЗрдВ: рдореИрдВ рддреБрд░рдВрдд "рд╣рд╛рдВ, рдпрд╣ рдЧрдВрднреАрд░ рдирд╣реАрдВ рд╣реИ, рдХреА рд╢реИрд▓реА рдореЗрдВ рд╡рд╛рдХреНрдпрд╛рдВрд╢реЛрдВ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдПрдХ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдХреЛрдб рд╣реИ, рдЖрдкрдХреЛ рд╣рд░ рдЬрдЧрд╣ рдХреЙрдкреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рджреЗрдЦреЗрдВ рдХрд┐ рд▓реЛрдЧ рдХреИрд╕реЗ рдХрд░рддреЗ рд╣реИрдВ !!!" - рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рдкрд╛рд╕ C # рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рдЪреЗрд╣рд░реЗ рдореЗрдВ рдПрдХ рддрд░реНрдХ рд╣реИ, рдЬрд┐рд╕реЗ рдЖрдк IML рдирд┐рд░реНрдорд╛рдг рдХреЛ рд▓рдкреЗрдЯрддреЗ рд╣реИрдВред рдмрд╛рдж рдореЗрдВ рд▓реЗрдЦ рдореЗрдВ, C # рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕рдорд╛рдзрд╛рди рджрд┐рдП рдЬрд╛рдПрдВрдЧреЗ ( рдЧрд┐рдмреНрдм рдкрд░ рдкреБрдирд░реНрдЦрд░реАрдж рдХреЛрдб рдХреЗ рд╕рд╛рде рднреА)рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ?
- рдХрдм (JqueryBind.Submit) - рд▓рдХреНрд╖реНрдп рдШрдЯрдирд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВ
- DoWithPreventDefault - рдИрд╡реЗрдВрдЯ рд╡реНрдпрд╡рд╣рд╛рд░ (рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╣реИрдВрдбрд▓рд░ рд░рджреНрдж рдХрд░реЗрдВ)
- рд╕рдмрдорд┐рдЯ рдХрд░реЗрдВ - рдлреЙрд░реНрдо рдХреЛ рдЕрдЬрд╛рдХреНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрдорд╛ рдХрд░реЗрдВ
рдиреЛрдЯ: рдкреНрд░рд╕реНрддреБрдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреА рдПрдХ рдЬреЛрдбрд╝реА:
- рдЬрд╣рд╛рдБ рдлрд╝реЙрд░реНрдо рднреЗрдЬрд╛ рдЧрдпрд╛ рд╣реИ, рдЙрд╕реЗ рд╡рд┐рдХрд▓реНрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ (рдФрд░ рдкреНрд░рдкрддреНрд░ рдХреА рдХреНрд░рд┐рдпрд╛ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд╣реАрдВ)
- ClientId рдПрдХ рдлреЙрд░реНрдо рдХреЛ рд╣рд┐рдбрди рдХреЗ рд░реВрдк рдореЗрдВ рд░реЗрдВрдбрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ InitIncoding рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдХреВрдХреАрдЬрд╝ рд╕реЗ рд╡реИрд▓реНрдпреВрдЬрд╝ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдЧрд╛ред
- OnSuccess - рд╕рдлрд▓ рд╕рдмрдорд┐рдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЪрд▓рд╛рдПрдБ
- рдХрдВрдЯреЗрдирд░ рдЖрдИрдЧреЛрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЯреНрд░рд┐рдЧрд░ рдЗрдВрдХреЛрдбрд░ - рдХрдВрдЯреЗрдирд░ рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рд╕рднреА IML рдХреЛрдб рдЪрд▓рд╛рдПрдВ (рдиреАрдЪреЗ рд╡рд┐рд╡рд░рдг)
рдиреЛрдЯ: рдЖрдк рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрдм рдЖрдк рдЕрд▓рдЧ-рдЕрд▓рдЧ рдШрдЯрдирд╛рдУрдВ (рд╡рд┐рднрд┐рдиреНрди IML рдХреЛрдб рдХреЗ рд╕рд╛рде) рдХреЛ рдмрд╛рдВрдзрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЯреНрд░рд┐рдЧрд░ рдЗрдирдХреЛрдбрд┐рдВрдЧ рд╕рднреА рд╢реНрд░реГрдВрдЦрд▓рд╛рдУрдВ рдХреЛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИред
- рдлреЙрд░реНрдо рд░реАрд╕реЗрдЯ - рдлреЙрд░реНрдо рддрддреНрд╡реЛрдВ рдХреЗ рдореВрд▓реНрдп рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░реЗрдВ
- AsHtmlAttributes - IML рдХреЛрдб рдХреЛ asp.net mvc рдлреЙрд░рдореЗрдЯ (рд░реВрдЯрд╡реИрд▓реНрдпреВрдПрдбрд░) рдореЗрдВ рдЗрдХрдЯреНрдард╛ рдХрд░реЗрдВ
- ToBeginTag - рд╣рдо рдкреНрд░рд╛рдкреНрдд рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдлреЙрд░реНрдо рдЯреИрдЧ (Html.BeginFormons рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд) рдореЗрдВ рдкреИрдХ рдХрд░рддреЗ рд╣реИрдВ
рдиреЛрдЯ: рдЖрдк Html.BeginForm(тАЬactionтАЭ,тАЭcontrollerтАЭ,Post,iml.AsHtmlAttributes())
рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
TODO рдЬреЛрдбрд╝реЗрдВ рдлрд╝реЙрд░реНрдо (рд╡реИрдХрд▓реНрдкрд┐рдХ)
@using (Html.Todo().BeginForm(setting => { setting.TargetId = containerId; setting.Routes = new { ClientId = Selector.Incoding.Cookie(CookieManager.ClientId) }; })) { @Html.TextBoxFor(r => r.Title, new { placeholder = "What needs to be done?", autofocus = "" }) }
рдиреЛрдЯ: рдХрдо рдХреЛрдб рд╣реИ, рдФрд░ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд, рдЕрдм рдЖрдк рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЬрд░реВрд░рддреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рдзрд┐ (рд╕рдмрдорд┐рдЯ рдХреЗ рдмрд╛рдж рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рди, рдЖрджрд┐) рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВредрд╣реБрдб рдХреЗ рдиреАрдЪреЗ public class BeginFormSetting { public string TargetId { get; set; } public object Routes { get; set; } } public BeginTag BeginForm(Action configure) { var setting = new BeginFormSetting(); configure(setting); var url = new UrlHelper(HttpContext.Current.Request.RequestContext); return this.helper.When(JqueryBind.Submit) .DoWithPreventDefault() .Submit(options => { options.Url = url.Dispatcher() .Push(setting.Routes); }) .OnSuccess(dsl => { dsl.WithId(setting.TargetId).Core().Trigger.Incoding(); dsl.Self().Core().Form.Reset(); }) .AsHtmlAttributes() .ToBeginTag(this.helper, HtmlTag.Form); }
рдзреНрдпрд╛рди рджреЗрдВ: рдХреЛрдб рдЕрдзрд┐рдХрд╛рдВрд╢ asp.net mvc рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ "рд╕рд╛рдорд╛рдиреНрдп" рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдмрдЬрд╛рдп, рд╣рдо рдПрдХ рдЕрдирд╛рдо рд╡рд┐рдзрд┐ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╡рд░реНрдЧ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдкрд╛рддреНрд░
@(Html.When(JqueryBind.InitIncoding | JqueryBind.IncChangeUrl) .Do() .AjaxGet(Url.Dispatcher() .Query(new { ClientId = Selector.Incoding.Cookie(CookieManager.ClientId), Type = Selector.Incoding.HashQueryString(r => r.Type) }) .AsJson()) .OnSuccess(dsl => { string urlTmpl = Url.Dispatcher() .Model(new GetTodoByClientQuery.Tmpl { FooterId = footerId }) .AsView("~/Views/Home/Todo_List_Tmpl.cshtml"); dsl.Self().Core().Insert.WithTemplateByUrl(urlTmpl).Html(); dsl.WithId(footerId).Core().Trigger.Incoding(); }) .AsHtmlAttributes(new { id = containerId }) .ToDiv())
рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ?
- рдЬрдм (JqueryBind.InitIncoding | IncChangeUrl) - рд▓рдХреНрд╖реНрдп рдИрд╡реЗрдВрдЯ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ
- InitIncoding - рдЬрдм рдкреГрд╖реНрда рдкрд░ рдкрд╣рд▓реА рдмрд╛рд░ рддрддреНрд╡ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ, рддреЛ рдЖрдЧ рд▓рдЧ рдЬрд╛рддреА рд╣реИ (рдпрд╣ рдЕрдЬрд╛рдХреНрд╕ рдпрд╛ рдЖрдорддреМрд░ рдкрд░ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛)
- IncChangeUrl - рдЬрдм рд╣реИрд╢ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ
- рдХреНрдпрд╛ - рдШрдЯрдирд╛ рд╡реНрдпрд╡рд╣рд╛рд░
- рдЕрдЬрд╛рдХреНрд╕рдЧреЗрдЯ - рдЙрд╕ рдпреВрдЖрд░рдПрд▓ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЕрдЬрд╛рдХреНрд╕ рдЕрдиреБрд░реЛрдз рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛
- ClientId - рдХреБрдХреАрдЬрд╝ рд╕реЗ рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
- рдкреНрд░рдХрд╛рд░ - рд╣реИрд╢ рдХреНрд╡реЗрд░реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реЗ рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
- OnSuccess - AjaxGet рдХреЗ рд╕рдлрд▓ рд╕рдорд╛рдкрди рдХреЗ рдмрд╛рдж рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ
- рдЯреЗрдореНрдкреНрд▓реЗрдЯ рджреНрд╡рд╛рд░рд╛ рд╕реЗрд▓реНрдл рдореЗрдВ рдбреЗрдЯрд╛ рдбрд╛рд▓реЗрдВ - рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ (рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ) рд╕реЗ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд░реНрддрдорд╛рди рдЯреЛрдбреЛ (рдиреАрдЪреЗ Todo_List_Tmpl) рдбрд╛рд▓реЗрдВред
рдзреНрдпрд╛рди рджреЗрдВ: рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд┐рд╕реА рднреА рдЙрдкрд▓рдмреНрдз рдЪрдпрдирдХрд░реНрддрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд╣рд▓реЗ, рдореБрдЦреНрдп рдПрдХ Jquery.Id рдерд╛, рд▓реЗрдХрд┐рди рдЕрдЬрд╛рдХреНрд╕ рд▓реЛрдбрд┐рдВрдЧ рдмреЗрд╣рддрд░ рд╣реИ
- рдкрд╛рдж рд▓реЗрдЦ рдХреЗ рд▓рд┐рдП рдЯреНрд░рд┐рдЧрд░ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдЯреНрд░рд┐рдЧрд░ - рдкрд╛рдж рддрддреНрд╡ (рд╡рд┐рд╡рд░рдг рдиреАрдЪреЗ) рдХреЗ рд▓рд┐рдП рд╕рднреА IML рдХреЛрдб рдЪрд▓рд╛рдПрдВ
- AsHtmlAttributes - рд╣рдо IML рдХреЛрдб рдПрдХрддреНрд░ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдорд╛рди рд╡рд┐рд╢реЗрд╖рддрд╛ рдореЗрдВ IdI (рдХрдВрдЯреЗрдирд░) рдорд╛рди рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ
рдзреНрдпрд╛рди рджреЗрдВ: рдПрдХ рдЖрдИрдбреА рдХреЗ рд░реВрдк рдореЗрдВ рдЧрд╛рдЗрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдПрдХ рдкреГрд╖реНрда рдкрд░ рдПрдХ рддрддреНрд╡ рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ рдХреА рдЧрд╛рд░рдВрдЯреА рджреЗрддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдПрдХ рдкреГрд╖реНрда рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рд╕рдЪ рд╣реИ
- ToDiv - рд╣рдо рдкреНрд░рд╛рдкреНрдд рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ div рдЯреИрдЧ рдореЗрдВ рдкреИрдХ рдХрд░рддреЗ рд╣реИрдВ
рдиреЛрдЯ: ToDiv, рд░реВрдЯрд╡реИрд▓реНрдпреВрдбрд╛рдЙрди рдкрд░ C # рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрдкрдирд╛ рд╡рд┐рдХрд▓реНрдк рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ
рдХрдВрдЯреЗрдирд░ (рд╡реИрдХрд▓реНрдкрд┐рдХ рддрд░реАрдХрд╛)
@Html.Todo().Container(setting => { setting.Id = containerId; setting.Url = Url.Dispatcher() .Query(new { ClientId = Selector.Incoding.Cookie(CookieManager.ClientId), Type = Selector.Incoding.HashQueryString(r => r.Type) }) .AsJson(); setting.Tmpl = Url.Dispatcher() .Model(new GetTodoByClientQuery.Tmpl { FooterId = footerId }) .AsView("~/Views/Home/Todo_List_Tmpl.cshtml"); setting.DependencyId = footerId; })
рдзреНрдпрд╛рди рджреЗрдВ: рдпрджрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдмреНрд▓реЙрдХ ui рдпрд╛ рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдЧрд╛, рддреЛ рдЕрдм рдпрд╣ рдХреЗрдВрджреНрд░реАрдп рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИрд╣реБрдб рдХреЗ рдиреАрдЪреЗ public class ContainerSetting { public string Id { get; set; } public string Url { get; set; } public string Tmpl { get; set; } public string DependencyId { get; set; } } public MvcHtmlString Container(Action configure) { var setting = new ContainerSetting(); configure(setting); return helper.When(JqueryBind.InitIncoding | JqueryBind.IncChangeUrl) .Do() .AjaxGet(setting.Url) .OnSuccess(dsl => { dsl.Self().Core().Insert.WithTemplateByUrl(setting.Tmpl).Html(); dsl.WithId(setting.DependencyId).Core().Trigger.Incoding(); }) .AsHtmlAttributes(new { id = setting.Id }) .ToDiv(); }
рдлрд╝реБрдЯрдмрд╛рд▓
@(Html.When(JqueryBind.None) .Do() .Direct(new FooterVm { AllCount = Selector.Jquery.Class("toggle").Length(), IsCompleted = Selector.Jquery.Class("toggle").Is(JqueryExpression.Checked), CompletedCount = Selector.Jquery.Class("toggle") .Expression(JqueryExpression.Checked) .Length(), })) .OnSuccess(dsl => { string urlTmpl = Url.Dispatcher() .Model(new TodoFooterTmplVm { ContainerId = containerId }) .AsView("~/Views/Home/Todo_Footer_Tmpl.cshtml"); dsl.Self().Core().Insert.Prepare().WithTemplateByUrl(urlTmpl).Html(); }) .AsHtmlAttributes(new { id = footerId }) .ToDiv())
- рдХрдм (JqueryBind.None) - рд▓рдХреНрд╖реНрдп рдШрдЯрдирд╛рдУрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ
- рдХреЛрдИ рдирд╣реАрдВ - рдЬрдм рдЖрдк рдХрд┐рд╕реА рднреА рдХрд╕реНрдЯрдо рдЗрд╡реЗрдВрдЯ рдХреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ "MySpecialEvent" рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрднреНрдпрд╛рд╕ рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдПрдХ рдХрдИ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред
- рдХреНрдпрд╛ - рдШрдЯрдирд╛ рд╡реНрдпрд╡рд╣рд╛рд░
- рдкреНрд░рддреНрдпрдХреНрд╖ - рдПрдХ рдПрдХреНрд╢рди рд╕реНрдЯрдм рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ
- AllCount - "рдЯреЙрдЧрд▓" рд╡рд░реНрдЧ рдХреЗ рд╕рд╛рде рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
рдиреЛрдЯ: рдЖрдк рдХрд┐рд╕реА рднреА jquery рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдзрд┐ рдПрдХреНрд╕рдЯреЗрдВрд╢рди (рд▓рдВрдмрд╛рдИ рдХреЗ рдмрдЬрд╛рдп) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ JquerySelectorExtend рдкрд░ C # рдПрдХреНрд╕рдЯреЗрдВрд╢рди рднреА рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ
- рдкреГрдердХ - "рдЯреЙрдЧрд▓" рд╡рд░реНрдЧ рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рд╡рд╕реНрддреБрдУрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХрд░реЗрдВ
рдзреНрдпрд╛рди рджреЗрдВ: рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд░реЗрдбреА-рдореЗрдб jquery рдЪрдпрдирдХрд░реНрддрд╛ рдХреА рдкрд░реНрдпрд╛рдкреНрдд рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдЖрдк Selector.Jquery.Custom ("рдЖрдкрдХрд╛ jquery рдЪрдпрдирдХрд░реНрддрд╛") рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
- рдХрдВрдкреНрд▓реАрдЯреЗрдбрд╛рдЙрдВрдЯ - "рдЯреЙрдЧрд▓" рд╡рд░реНрдЧ рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
- OnSuccess - AjaxGet рдХреЗ рд╕рдлрд▓ рд╕рдорд╛рдкрди рдХреЗ рдмрд╛рдж рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ
- рдЯреЗрдореНрдкрд▓реЗрдЯ рджреНрд╡рд╛рд░рд╛ рд╕реНрд╡рдпрдВ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рддреИрдпрд╛рд░ рдХрд░реЗрдВ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░реЗрдВ - рд╡рд░реНрддрдорд╛рди рддрддреНрд╡ рдореЗрдВ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбрд╛рдпрд░реЗрдХреНрдЯ рд╕реЗ рдбреЗрдЯрд╛ рддреИрдпрд╛рд░ рдХрд░реЗрдВ (рдЯреЛрдбреЛ_рдлреВрдЯрд░рд░ рдиреАрдЪреЗ)
рдзреНрдпрд╛рди рджреЗрдВ: рдбреЗрдЯрд╛ рдбрд╛рд▓рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рддреИрдпрд╛рд░ рдХрд░реЗрдВ рдЪрдпрдирдХрд░реНрддрд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдЬреЛ рдлрд╝реАрд▓реНрдб рдореЗрдВ рд╣реИрдВред
- AsHtmlAttributes - IML рдХреЛрдб рдПрдХрддреНрд░ рдХрд░рдирд╛
- ToDiv - рд╣рдо рдкреНрд░рд╛рдкреНрдд рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ div рдЯреИрдЧ рдореЗрдВ рдкреИрдХ рдХрд░рддреЗ рд╣реИрдВ
рдЯреЛрдбреЛ рд╕реВрдЪреА tmpl
рдПрдХ рдЯреВрдбреВ рд╕реВрдЪреА рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рд▓реЗрдЖрдЙрдЯ рдЯреЗрдореНрдкрд▓реЗрдЯ
@using (var template = Html.Incoding().Template()) { <ul> @using (var each = template.ForEach()) { @using (each.Is(r => r.Active)) { @createCheckBox(true) } @using (each.Not(r => r.Active)) { @createCheckBox(false) } <li class="@each.IsInline(r=>r.Active,"completed")"> <label>@each.For(r=>r.Title)</label> </li> </ul> }
рдиреЛрдЯ: рд╕реНрд░реЛрдд рдХреЛрдб рдмрдбрд╝рд╛ рд╣реИ (рддрддреНрд╡реЛрдВ рдХрд╛ рджреВрд░рд╕реНрде рддрд░реНрдХ) рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЛ рд╕рдордЭрд╛рдиреЗ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИрдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ?
- Html.Incoding ()ред рдЯреЗрдореНрдкрд▓реЗрдЯ () - рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╕рдВрджрд░реНрдн (рд╕рдВрджрд░реНрдн рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдЦреЛрд▓реЗрдВ
- template.ForEach () - рдПрдиреНрдпреВрдорд░реЗрдЯ рдХрд░рдирд╛ (рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рднреАрддрд░) рддрддреНрд╡
- рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ (рдкреНрд░рддреНрдпреЗрдХ .s (r => r.Active)) - рд╢рд░реНрддреЛрдВ рдХрд╛ рдкрд┐рдЫрд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг "рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ" рдерд╛, рд▓реЗрдХрд┐рди рдЕрдХреНрд╕рд░ рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдХреНрд░рд┐рдпрд╛рдПрдВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
- createCheckBox - рдЪреЗрдХрдмреЙрдХреНрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдирд╛рдо рд╕реА # рдлрд╝рдВрдХреНрд╢рди (рдиреАрдЪреЗ рд╡рд┐рд╡рд░рдг)
- рдкреНрд░рддреНрдпреЗрдХред рдЗрдирд▓рд╛рдЗрди (r => r.Active, "рдкреВрд░реНрдг") - рдпрджрд┐ рд╕рдХреНрд░рд┐рдп рдлрд╝реАрд▓реНрдб рд╕рддреНрдп рд╣реИ, рддреЛ "рдкреВрд░реНрдг" рд▓реМрдЯреЗрдВ
рдиреЛрдЯ: IsNotLine рдФрд░ IsLine рднреА рдЙрдкрд▓рдмреНрдз рд╣реИрдВред
- рдкреНрд░рддреНрдпреЗрдХред рдХреЗ рд▓рд┐рдП (r => r.Title) - рд╢реАрд░реНрд╖рдХ рдлрд╝реАрд▓реНрдб рдХрд╛ рдорд╛рди рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ
рдиреЛрдЯ: рдлрд╝реАрд▓реНрдб рдХреЗ рд╕рднреА рдХреЙрд▓ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдореЙрдбрд▓ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИрдВ (рд╣рд╛рдБ, рдореИрдВ рдлрд┐рд░ рд╕реЗ рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдХреА рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдБ)
рдЕрдиреНрдп рдЖрдЗрдЯрдо
рдмрдЯрди рдбреЗрд▓
@(Html.When(JqueryBind.Click) .Do() .AjaxPost(Url.Dispatcher().Push(new DeleteEntityByIdCommand { Id = each.For(r => r.Id), AssemblyQualifiedName = typeof(Todo).AssemblyQualifiedName })) .OnBegin(r => { r.WithSelf(s => s.Closest(HtmlTag.Li)).Core().JQuery.Manipulation.Remove(); r.WithId(Model.FooterId).Core().Trigger.Incoding(); r.WithId(toggleAllId).Core().Trigger.None(); }) .AsHtmlAttributes(new { @class = "destroy" }) .ToButton(""))
рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ?
рдмрдЯрди рдбреЗрд▓ (рд╡реИрдХрд▓реНрдкрд┐рдХ)
@Html.Todo().Verb(setting => { setting.Url = Url.Dispatcher().Push(new DeleteEntityByIdCommand { Id = each.For(r => r.Id), AssemblyQualifiedName = typeof(Todo).AssemblyQualifiedName }); setting.OnBegin = dsl => { dsl.WithSelf(s => s.Closest(HtmlTag.Li)).Core().JQuery.Manipulation.Remove(); dsl.WithId(Model.FooterId).Core().Trigger.Incoding(); dsl.WithId(toggleAllId).Core().Trigger.None(); }; setting.Attr = new { @class = "destroy" }; })
рдиреЛрдЯ: OnBegin рдПрдХреНрд╢рди рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ IML рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдХреЗ рдЖрдкрдХреЗ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рд╕реНрдХреЗрд▓ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред (рдФрд░ рднреА рдЙрджрд╛рд╣рд░рдг рд╣реЛрдВрдЧреЗ)
рд╣реБрдб рдХреЗ рдиреАрдЪреЗ public class VerbSetting { public string Url { get; set; } public Action<IIncodingMetaLanguageCallbackBodyDsl> OnBegin { get; set; } public Action<IIncodingMetaLanguageCallbackBodyDsl> OnSuccess { get; set; } public object Attr { get; set; } public string Content { get; set; } } public MvcHtmlString Verb(Action<VerbSetting> configure) { var setting = new VerbSetting(); configure(setting); return this.helper.When(JqueryBind.Click) .Do() .AjaxPost(setting.Url) .OnBegin(dsl => { if (setting.OnBegin != null) setting.OnBegin(dsl); }) .OnSuccess(dsl => { if (setting.OnSuccess != null) setting.OnSuccess(dsl); }) .AsHtmlAttributes(setting.Attr) .ToButton(setting.Content); }
рдзреНрдпрд╛рди рджреЗрдВ: рдЪреВрдВрдХрд┐ рд╡рд░реНрдм рдХрдИ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╡реИрдХрд▓реНрдкрд┐рдХ рдкреИрд░рд╛рдореАрдЯрд░ рдмрдирд╛рдирд╛ рдЖрд╕рд╛рди рд╣реИ, рдЙрдиреНрд╣реЗрдВ рд╢реВрдиреНрдп рдХреЗ рд▓рд┐рдП рдЬрд╛рдВрдЪреЗрдВ, рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рднреА рд╕реЗрдЯ рдХрд░реЗрдВ
рдЪреЗрдХрдмреЙрдХреНрд╕ рдкреВрд░рд╛ рд╣реБрдЖ
var createCheckBox = isValue => Html.When(JqueryBind.Change) .Do() .AjaxPost(Url.Dispatcher().Push(new ToggleTodoCommand { Id = each.For(r => r.Id) })) .OnBegin(dsl => { dsl.WithSelf(r => r.Closest(HtmlTag.Li)) .Behaviors(inDsl => { inDsl.Core().JQuery.Attributes.RemoveClass("completed"); inDsl.Core().JQuery.Attributes.AddClass("completed") .If(builder => builder.Is(() => Selector.Jquery.Self())); }); dsl.WithId(Model.FooterId).Core().Trigger.Incoding(); dsl.WithId(toggleAllId).Core().Trigger.None(); }) .AsHtmlAttributes(new {@class="toggle" }) .ToCheckBox(isValue);
рдиреЛрдЯ: рд░реЗрдЬрд░ рдкреЗрдЬ рдХреЗ рднреАрддрд░, рдЖрдк рдЕрдирд╛рдо C # рдлрд╝рдВрдХреНрд╢рди рдпрд╛ рд░реЗрдЬрд╝рд░ рд╣реЗрд▓реНрдкрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдЖрдкрдХреЛ рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ?
- рдХрдм (JqueryBind.Change) - рд▓рдХреНрд╖реНрдп рдШрдЯрдирд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВ
- рдХреНрдпрд╛ - рдШрдЯрдирд╛ рд╡реНрдпрд╡рд╣рд╛рд░
- AjaxPost - Url рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВ, рдЬрд┐рд╕рд╕реЗ рд╣рдо рдПрдХ рдРрдЬреИрдХреНрд╕ рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╣реИрдВ
рдиреЛрдЯ: AjaxPost рдФрд░ AjaxGet Ajax рдХрд╛ рдПрдХ "рдирд╛рдо" рд╕рдВрд╕реНрдХрд░рдг рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХрдИ рдЙрдиреНрдирдд рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╣реИрдВред
- OnBegin - рдХрд╛рд░реНрд░рд╡рд╛рдИ рд╕реЗ рдкрд╣рд▓реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ (AjaxPost)
- рдирд┐рдХрдЯрддрдо LI рдкрд░ рдХрдХреНрд╖рд╛ рдирд┐рдХрд╛рд▓реЗрдВ - рдирд┐рдХрдЯрддрдо LI рд╕реЗ "рдкреВрд░реНрдг" рд╡рд░реНрдЧ рдирд┐рдХрд╛рд▓реЗрдВ
- рдирд┐рдХрдЯрддрдо LI рдкрд░ рд╡рд░реНрдЧ рдЬреЛрдбрд╝реЗрдВ рдпрджрд┐ рд╕реНрд╡ рд╕рддреНрдп рд╣реИ - "рдкреВрд░реНрдг" рд╡рд░реНрдЧ рдЬреЛрдбрд╝реЗрдВ
рдзреНрдпрд╛рди рджреЗрдВ: рдЬрдмрдХрд┐ рдЕрдиреНрдп IML рдореЗрдВ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдВрд╕реНрдХрд░рдг 2.0 рдореЗрдВ рдпрд╣ рдпреЛрдЬрдирд╛рдмрджреНрдз рд╣реИ
- AsHtmlAttributes - IML рдХреЛрдб рдПрдХрддреНрд░ рдХрд░реЗрдВ, рдФрд░ рд╡рд░реНрдЧ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд▓рд┐рдП "рдЯреЙрдЧрд▓" рдорд╛рди рднреА рд╕реЗрдЯ рдХрд░реЗрдВ
- ToCheckBox - рд╣рдо рдкреНрд░рд╛рдкреНрдд рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдЗрдирдкреБрдЯ [рдЯрд╛рдЗрдк = рдЪреЗрдХрдмреЙрдХреНрд╕] рдЯреИрдЧ рдореЗрдВ рдкреИрдХ рдХрд░рддреЗ рд╣реИрдВ
рдЯрд╛рдЗрдкреЛ рджреНрд╡рд╛рд░рд╛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░реЗрдВ
@{ const string classSelected = "selected"; var createLi = (typeOfTodo,isFirst) => Html.When(JqueryBind.InitIncoding) .Do() .Direct() .OnSuccess(dsl => { var type = Selector.Incoding.HashQueryString(r => r.Type); if (isFirst) dsl.Self().Core().JQuery.Attributes.AddClass(classSelected).If(s => s.Is(() => type == "")); dsl.Self().Core().JQuery.Attributes.AddClass(classSelected).If(s => s.Is(() => type == typeOfTodo.ToString())); }) .When(JqueryBind.Click) .Do() .Direct() .OnSuccess(dsl => { dsl.WithSelf(r => r.Closest(HtmlTag.Ul).Find(HtmlTag.A)).Core().JQuery.Attributes.RemoveClass(classSelected); dsl.Self().Core().JQuery.Attributes.AddClass(classSelected); }) .AsHtmlAttributes(new { href = "#!".AppendToHashQueryString(new { Type = typeOfTodo }) }) .ToLink(typeOfTodo.ToString()); } <li> @createLi(GetTodoByClientQuery.TypeOfTodo.All,true) </li> <li> @createLi(GetTodoByClientQuery.TypeOfTodo.Active,false) </li> <li> @createLi(GetTodoByClientQuery.TypeOfTodo.Completed,false) </li>
рдиреЛрдЯ: рд░реЗрдЬрд░ рджреГрд╢реНрдп рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдирд╛рдо рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдПрдХ рдФрд░ рдЙрджрд╛рд╣рд░рдг
рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ?
- рдХрдм (JqueryBind.InitIncoding) - рд▓рдХреНрд╖реНрдп рдШрдЯрдирд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВ
- рдХреНрдпрд╛ - рдШрдЯрдирд╛ рд╡реНрдпрд╡рд╣рд╛рд░
- рдкреНрд░рддреНрдпрдХреНрд╖ - рдХреБрдЫ рдирд╣реАрдВ рдХрд░рддреЗ
- OnSuccess - рд╕рдлрд▓ рд╕рдорд╛рдкрди рдХреЗ рдмрд╛рдж рдЪрд▓рд╛рддреЗ рд╣реИрдВ
рдиреЛрдЯ: рдкреНрд░рддреНрдпрдХреНрд╖ рдХреЗ рд▓рд┐рдП OnBegin рдпрд╛ OnSuccess рдореЗрдВ рдХреЛрдИ рдЕрдВрддрд░ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди OnError рдФрд░ OnBreak рдмрд╛рдХреА рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ
- var рдкреНрд░рдХрд╛рд░ - рдПрдХ рдЪрд░ рдШреЛрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рд╣рдо рдмрд╛рдж рдореЗрдВ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ
- рдпрджрд┐ IsFirst рд╕рдЪ рд╣реИ рдФрд░ рдкреНрд░рдХрд╛рд░ рд░рд┐рдХреНрдд рд╣реИ, рддреЛ рд╕реНрд╡рдпрдВ рдХреЛ рд╡рд░реНрдЧ рдЬреЛрдбрд╝реЗрдВ - рдпрджрд┐ рд╡рд░реНрддрдорд╛рди рддрддреНрд╡ рдкрд╣рд▓рд╛ рд╣реИ рдФрд░ рдЯрд╛рдЗрдк рдЦрд╛рд▓реА рд╣реИ рддреЛ рдПрдХ рд╡рд░реНрдЧ рдЬреЛрдбрд╝реЗрдВ
- рдпрджрд┐ рдкреНрд░рдХрд╛рд░ рдЪрд╛рд▓реВ рдкреНрд░рдХрд╛рд░ рд╣реИ рддреЛ рд╕реНрд╡рдпрдВ рдХреЛ рдХрдХреНрд╖рд╛ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ - рдпрджрд┐ рдЯрд╛рдЗрдкрдСрдлрдЯреЛрдбреЛ рддрд░реНрдХ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ рддреЛ рд╡рд░реНрддрдорд╛рди рддрддреНрд╡ рдореЗрдВ рдПрдХ рд╡рд░реНрдЧ рдЬреЛрдбрд╝реЗрдВ
- рдХрдм (JqueryBind.Click) - рд▓рдХреНрд╖реНрдп рдШрдЯрдирд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ
- рдХреНрдпрд╛ - рдШрдЯрдирд╛ рд╡реНрдпрд╡рд╣рд╛рд░
рдиреЛрдЯ: рд╣рдо рд▓рд┐рдВрдХ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рд░рджреНрдж рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╣рдореЗрдВ рд╕реНрдерд╛рди рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
- рдкреНрд░рддреНрдпрдХреНрд╖ - рдХреБрдЫ рдирд╣реАрдВ рдХрд░рддреЗ
- рдирд┐рд╖реНрдХрд╛рд╕рди рд╡рд░реНрдЧ - рдЪрдпрдирд┐рдд рд╡рд░реНрдЧ рдХреЛ рдЙрди рд╕рднреА A рд╕реЗ рд╣рдЯрд╛ рджреЗрдВ рдЬреЛ рдирд┐рдХрдЯрддрдо UL рдореЗрдВ рд╣реИрдВ
- рд╕реНрд╡рдпрдВ рдореЗрдВ рд╡рд░реНрдЧ рдЬреЛрдбрд╝реЗрдВ - рдЪрдпрдирд┐рдд рддрддреНрд╡ рдХреЛ рд╡рд░реНрддрдорд╛рди рддрддреНрд╡ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ
- AsHtmlAttributes - IML рдХреЛрдб рдЗрдХрдЯреНрдард╛ рдХрд░реЗрдВ, рдФрд░ href рд╡рд┐рд╢реЗрд╖рддрд╛ рднреА рд╕реЗрдЯ рдХрд░реЗрдВ
рдкреНрд░рдХрд╛рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░реЗрдВ (рд╡реИрдХрд▓реНрдкрд┐рдХ рд╡рд┐рдзрд┐)
<li> @Html.Todo().LiHash(setting => { setting.IsFirst = true; setting.SelectedClass = classSelected; setting.Type = GetTodoByClientQuery.TypeOfTodo.All; }) </li>
рдмрд┐рдирд╛ рд╢рд░реНрдд рд▓рд╛рдн!
рдЖрдИрдПрдордПрд▓ рдХреЗ рдлрд╛рдпрджреЗ рдХреНрдпрд╛ рд╣реИрдВ, рдореИрдВрдиреЗ рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ рдЦреБрд▓рд╛рд╕рд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдереА, рд▓реЗрдХрд┐рди рдпрд╣ рдЖрд╢реНрд╡рд╕реНрдд рдирд╣реАрдВ рдерд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛:
- рдЯрд╛рдЗрдкрд┐рдВрдЧ - рдмреЗрд╢рдХ, рд╣рд░ рдХреЛрдИ рдЕрдкрдиреЗ рдкреНрд░рд┐рдЬрд╝реНрдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЯрд╛рдЗрдкрд┐рдВрдЧ рджреЗрдЦрддрд╛ рд╣реИ, рдХрд┐рд╕реА рдХрд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЕрдзрд┐рдХ рдХреЛрдб рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ (рдпрд╣ рд╕рдЪ рд╣реИ), рдЕрдиреНрдп рдореЗрдВ рд▓рдЪреАрд▓реЗрдкрди рдХреА рдХрдореА рд╣реИ рдЬреЛ рдЧреИрд░-рдЯрд╛рдЗрдк рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди IML рдореБрдЦреНрдп рд░реВрдк рд╕реЗ C # рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЙрди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдЗрд╕реЗ рдЪреБрдирд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдЗрд╕ рдкреНрд▓рд╕ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░реЗрдВрдЧреЗред
- рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╡рд┐рд╕реНрддрд╛рд░ - рд▓реЗрдЦ рдореЗрдВ рдореИрдВрдиреЗ рдХреБрдЫ рджрд┐рдП рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдЙрдирдореЗрдВ рд╕реЗ рдмрд╣реБрдд рдХреБрдЫ рд╣реИ, рдЕрдкрдиреЗ рд╢рдмреНрджреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВ рдПрдХ рдЬреЛрдбрд╝реЗ рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рджреВрдВрдЧрд╛:
- рдиреАрдЪреЗ рдЧрд┐рд░рд╛ рджреЛ
@Html.For(r=>r.HcsId).DropDown(control => { control.Url = Url.Action("HealthCareSystems", "Shared"); control.OnInit = dsl => dsl.Self().Core().Rap().DropDown(); control.Attr(new { @class = "selectInput", style = "width:375px" }); })
рдиреЛрдЯ: OnInit рдПрдХреНрд╢рди рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ IML рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдХреЗ рдЖрдкрдХреЗ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рд╕реНрдХреЗрд▓ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред
рд╕рдВрд╡рд╛рдж
@Html.ProjectName().OpenDialog(setting => { setting.Url = Url.Dispatcher() .Model<GroupEditProviderOrderCommand>() .AsView("~/Views/ProviderOrder/Edit.cshtml"); setting.Content = "Edit"; setting.Options = options => { options.Title = "Edit Order"; }; })
рдиреЛрдЯ: рдЕрдзрд┐рдХ рд▓рдЪреАрд▓реЗрдкрди рдХреЗ рд▓рд┐рдП, рдЖрдк рдПрдХреНрд╢рди рдХреЛ рдПрдХ рдлреАрд▓реНрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрд┐рдВрдЧред рдПрдХреНрд╢рди рд╣реИред
рд╕реВрдЪреА рдЖрдЧреЗ рдФрд░ рдЖрдЧреЗ рдмрдврд╝рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЦреНрдп рд╡рд┐рдЪрд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдИрдПрдордПрд▓ рдЖрдкрдХреЛ рдХрд┐рд╕реА рднреА рдХрд╛рд░реНрдп рдХреЛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдФрд░ html рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдкреБрди: рдЙрдкрдпреЛрдЧ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИред
- рдЕрдзрд┐рдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдПрдХреНрд╕рдЯреЗрдВрд╢рди
- рдЧреНрд░рд┐рдб - рдкреВрд░реА рддрд░рд╣ рд╕реЗ IML рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдкреНрд░рд▓реЗрдЦрди рд╣реЛрдЧрд╛)
@(Html.ProjectName() .Grid<CTRPrintLogModel>() .Columns(dsl => { dsl.Template(@<text> <span>@item.For(r=>r.Comment)</span> </text>) .Title("Comment"); const string classVerticalTop = "vertical_top"; dsl.Bound(r => r.Time).Title("Time").HtmlAttributes(new { @class = classVerticalTop }); dsl.Bound(r => r.Version).Title("Type").HtmlAttributes(new { @class = classVerticalTop }); dsl.Bound(r => r.PrintDate).Title("Date"); dsl.Bound(r => r.Comment).Raw(); }) .AjaxGet(Url.RootAction("GetCTRPrintLogModel", "CTR")))
- рдЯреИрдмреНрд╕
@(Html.Rap() .Tabs<Enums.CarePlanTabs>() .Items(dsl => { dsl.AddTab(Url.Action("RedFlags", "PatientRedFlag"), Enums.CarePlanTabs.RedFlags); dsl.AddTab(Url.Action("Goals", "IncGoal"), Enums.CarePlanTabs.SelfCareGoals); dsl.AddTab(Url.Action("Index", "IncAppointment"), Enums.CarePlanTabs.Appointments); }))
рдиреЛрдЯ: html рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдХреЛрдИ рднреА рдбреЗрд╡рд▓рдкрд░ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЬрд░реВрд░рддреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рддрддреНрд╡ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддрд╛ рд╣реИ
- рд╣реИрд╢ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ - рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдХреЗрд╡рд▓ IncChangeUrl рд╕реНрддрд░ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣реИ:
- рд╣реИрд╢.рдлреИрдЪ - рд╣реИрд╢ рд╕реЗ рддрддреНрд╡реЛрдВ (рд╕реИрдВрдбрдмреЙрдХреНрд╕) рдореЗрдВ рдорд╛рди рдбрд╛рд▓рддрд╛ рд╣реИ
- Hash.Insert / Update - рддрддреНрд╡реЛрдВ рд╕реЗ рд╣реИрд╢ рдореЗрдВ рдорд╛рди рдбрд╛рд▓рддрд╛ рд╣реИ
- Hash.Manipulate - рдЖрдкрдХреЛ рд╡рд░реНрддрдорд╛рди рд╣реИрд╢ рдХреЛ рдареАрдХ рдХрд░рдиреЗ (рд╕реЗрдЯ / рдХреБрдВрдЬреА рджреНрд╡рд╛рд░рд╛ рд╣рдЯрд╛рдиреЗ) рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ
- рдЕрдЬрд╛рдХреНрд╕рд╣реИрд╢ рд╕рдмрдорд┐рдЯ рдХрд╛ рдПрдХ рдПрдирд╛рд▓реЙрдЧ рд╣реИ, рд▓реЗрдХрд┐рди рдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рд╣реИрд╢ рдХреЗ рд▓рд┐рдПред
- рдЗрдиреНрд╕рд░реНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ - рдореБрдЭреЗ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП TODO рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╣рд░ рдЬрдЧрд╣
- рдЗрдВрд╕рд░реНрдЯ рдЬреЗрдиреЗрд░рд┐рдХ - рдКрдкрд░ рджрд┐рдП рдЧрдП рд╕рднреА рдЙрджрд╛рд╣рд░рдг рдПрдХ рд╣реА рдореЙрдбрд▓ рдкрд░ рдмрдирд╛рдП рдЧрдП рдереЗ, рд▓реЗрдХрд┐рди рдЕрдХреНрд╕рд░ рдРрд╕реЗ рдкрд░рд┐рджреГрд╢реНрдп рд╣реЛрддреЗ рд╣реИрдВ рдЬрдм рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ рдПрдХ "рдХрдВрдЯреЗрдирд░" рд╣реЛрддрд╛ рд╣реИ, рдЗрди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрдирд╕рд░реНрдЯ рдореЗрдВ рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реЛрддреА рд╣реИ рдХрд┐ рд╣рдо рдореЙрдбрд▓ рдХреЗ рдХрд┐рд╕ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рднреАред
Html.When(JqueryBind.InitIncoding) .Do() .AjaxGet(Url.Action("FetchComplex", "Data")) .OnSuccess(dsl => { dsl.WithId(newsDivId).Core().Insert.For<ComplexVm>(r => r.News).WithTemplateByUrl(urlNewsTmpl).Html(); dsl.WithId(contactDivId).Core().Insert.For<ComplexVm>(r => r.Contacts).WithTemplateByUrl(urlContactsTmpl).Html(); }) .AsHtmlAttributes() .ToDiv()
- рд╕рддреНрдпрд╛рдкрди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ (рдПрдХ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд░реНрд╡рд░) - рдХрдИ рдЬреЗрдПрд╕ рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдг рд╣реЛрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдИрдПрдордПрд▓, рдЬреИрд╕рд╛ рдХрд┐ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЛрдб рдХреЗ рдмрд┐рдирд╛ рд╕рд░реНрд╡рд░ рдФрд░ рдХрд┐рд╕реА рднреА рд╕рддреНрдпрд╛рдкрди рдЗрдВрдЬрди (рдлрд╝реНрд▓реНрдпреВрдПрдВрдЯрд┐рд╡реЗрд▓рд┐рдбреЗрд╢рди, рдорд╛рдирдХ рдПрдорд╡реАрд╕реА) рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рд╣реИред
- рдХрдорд╛рдВрдб рдХреЛрдб
if (device != null) throw IncWebException.For<AddDeviceCommand>(r => r.Pin, "Device with same pin is already exist");
- рдХреЛрдб рджреЗрдЦреЗрдВ
.OnError(dsl => dsl.Self().Core().Form.Validation.Refresh())
рдиреЛрдЯ: рдПрдХ рдСрдирдПрдпрд░ рд╣реИрдВрдбрд▓рд░ рдЙрд╕ рддрддреНрд╡ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд╣рддрд╛ рд╣реИ (рд╕рдмрдорд┐рдЯ рдХрд░реЗрдВ, ajaxpost рдпрд╛ рдЖрджрд┐)
- рдХрдо рд╕реНрдХреНрд░рд┐рдкреНрдЯ - js рдлреНрд░реЗрдорд╡рд░реНрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдЬреБрдиреВрди рдХреЗ рд╕рд╛рде, рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА js рдлрд╛рдЗрд▓реЗрдВ рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди IML рдореЗрдВ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд (рдкреНрд▓рдЧрд┐рди рдХреА рдЧрд┐рдирддреА рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ) рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗрдЯ рд╣реИ
- рдЯрд╛рдЗрдк рдХрд┐рдП рдЧрдП рдЯреЗрдореНрдкреНрд▓реЗрдЯ - рдореИрдВ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ
- рдЯреЗрдореНрдкрд▓реЗрдЯ рдЗрдВрдЬрди рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди - рдХреЛрдИ рднреА рдЪреБрдиреЗрдВ, рд▓реЗрдХрд┐рди рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╕рдорд╛рди рд╣реИ
- рд░реЗрдбреА-рдореЗрдб рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ - рдЖрдИрдПрдордПрд▓ рдЗрдВрдХреЛрдбрд┐рдВрдЧ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ рдФрд░, рдЬреЗрдПрд╕ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╡рд┐рдкрд░реАрдд, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреВрд░реНрдг (рд╕рд░реНрд╡рд░ / рдХреНрд▓рд╛рдЗрдВрдЯ / рдпреВрдирд┐рдЯ рдЯреЗрд╕реНрдЯрд┐рдВрдЧ) рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рд╣реИ, рдЬреЛ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдирд┐рдХрдЯрддрд╛ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред
рдирд┐рд╖реНрдХрд░реНрд╖
рдЖрдИрдПрдордПрд▓ рдкрд░ рдЯреВрдбреВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╕рдордп, рдореИрдВ рдирд┐рдпрдо рд╕реЗ рдЪрд┐рдкрдХ рдЧрдпрд╛: рдХрдо рдкреЗрдЬ рдЕрдкрдбреЗрдЯ, рдпрд╛рдиреА, рдореИрдВрдиреЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рд╕рдм рдХреБрдЫ рд░рд┐рдХреЙрд▓ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдЕрднреНрдпрд╛рд╕ (рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ) рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╕рд░реНрд╡рд░ рдЕрдХреНрд╕рд░ рдЕрдбрд╝рдЪрди рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХрдИ рдХрд╛рд░реНрдп рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИрдВ рдпрд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП
рдЕрд╕рдВрднрд╡ (рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдХрд╛рд░рдг):
- рдкреГрд╖реНрдард╛рдВрдХрд┐рдд - рдпрджрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕реИрдХрдбрд╝реЛрдВ рд╣рдЬрд╛рд░реЛрдВ рд░рд┐рдХреЙрд░реНрдб рд╣реИрдВ, рддреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдЗрд╕ рддрд░рд╣ рдХреА рдорд╛рддреНрд░рд╛ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ
- рдЖрджреЗрд╢ рдПрдХ рд╣реА рдХрд╛рд░рдг рд╣реИ
- рд╡рд╣реА рдХрд╛рд░рдг рдХрд╣рд╛рдВ рд╣реИ
рдлрд╝реАрд▓реНрдб рдорд╛рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЬрдЯрд┐рд▓ рдЧрдгрдирд╛ (рдЬреИрд╕реЗ рдХрд░реЛрдВ рд╕рд╣рд┐рдд рдЖрджреЗрд╢реЛрдВ рдХреА рдХреБрд▓ рд░рд╛рд╢рд┐) рдХреЗ рд░реВрдк рдореЗрдВ рдЧрдгрдирд╛ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╣ рд╕рд░реНрд╡рд░ (рдлрд╝реАрд▓реНрдб рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде) рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдФрд░ рдкрд░рд┐рдгрд╛рдо рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛ред
рдлрд┐рд░ рд╕реЗ IML))IML рдХреЗ рднреАрддрд░, рдЧрдгрдирд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддрд░реАрдХреЛрдВ рд╕реЗ рд╣рд▓ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ:
- рдПрдХрд▓ рдореВрд▓реНрдп
var val = Selector.Incoding.AjaxGet(url); dsl.WithId(yourId).Core().JQuery.Attributes.Val(val);
- рдбреЗрдЯрд╛ рд╕реЗрдЯ
dsl.With(r => r.Name(s => s.Last)).Core().Insert.For<ContactVm>(r => r.Last).Val(); dsl.With(r => r.Name(s => s.First)).Core().Insert.For<ContactVm>(r => r.First).Val(); dsl.With(r => r.Name(s => s.City)).Core().Insert.For<ContactVm>(r => r.City).Val();
рдЖрдк рдЖрдИрдПрдордПрд▓ (рдФрд░ рдЗрдВрдХреЛрдбрд┐рдВрдЧ рдлреНрд░реЗрдорд╡рд░реНрдХ) рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдмрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд▓реЗрдЦ рдмрдбрд╝рд╛ рдирд┐рдХрд▓рд╛, рдФрд░ рдЗрд╕рд▓рд┐рдП, рдЬреЛ рд▓реЛрдЧ рд╣рдорд╛рд░реЗ рдЙрдкрдХрд░рдг рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд╡реЗ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд╕рд╛рдордЧреНрд░реА рдЦреЛрдЬрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗред рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рд╕рд╛рдмрд┐рдд рдХрд░рдирд╛ рдХрд┐ рдЖрдИрдПрдордПрд▓ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рд▓реЛрдХрдкреНрд░рд┐рдп рдЬреЗрдПрд╕ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕реЗ рднреА рдмрджрддрд░ рдирд╣реАрдВ рд╣реИ, рдЕрддреНрдпрдВрдд рдХрдард┐рди рд╣реИ, рд▓реЗрдХрд┐рди рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓реЗрдЦреЛрдВ рдореЗрдВ рд╕реНрд╡рдд: рдкреВрд░реНрдг, рдЯреНрд░реА рд╡реНрдпреВ, рдЧреНрд░рд┐рдб рдФрд░ рдЕрдиреНрдп рдЬрдЯрд┐рд▓ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЕрд╡рд▓реЛрдХрди рд╣реЛрдЧрд╛ рдЬреЛ рдФрд░ рднреА рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░реЗрдВрдЧреЗред
рдкреАрдПрд╕ рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣ рдЖрд▓реЛрдЪрдирд╛ рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рд╕реЗ рдЦреБрд╢)))