рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ ASP.NET MVCред рдкрд░рд┐рдЪрдп: рдореЙрдбрд▓ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ

рдЬреНрд╡рд╛рдЗрди рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп


рдЬрдм рдпрд╣ рд▓реЗрдЦ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рдерд╛, рддреЛ рдПрдХ рдЕрджреНрднреБрдд 1 рдХреИрдВрдбреА рдкреЛрд╕реНрдЯ рд╕рд╛рдордиреЗ рдЖрдИред рд╣рдо ASP.NET MVC рдореЗрдВ рд╡реНрдпреВ рдореЙрдбрд▓ рдХрд╛ рдЖрдпреЛрдЬрди рдХрд░ рд░рд╣реЗ рд╣реИрдВ , рдЬреЛ рдХрд┐ рдореИрдВ рдкрд╛рдардХ рдХреЛ рдЬреЛ рдХреБрдЫ рдмрддрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рд╡рд╣ рдмрд╣реБрдд рдХреБрдЫ рдмрддрд╛рддрд╛ рд╣реИред рдЗрд╕ рдХрд╛рд░рдг рд╕реЗ, рдореИрдВрдиреЗ рдорд╣рд╛рди рдкрд░рд┐рдЪрдпрд╛рддреНрдордХ рдкрд░рд┐рдЪрдп рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдФрд░ рд╕реАрдзреЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╕рд▓рд╛рд╣ рдкрд░ рдЬрд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред

рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЕрднреА рднреА рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рд╕рд╛рде рдереЛрдбрд╝рд╛ рддрдбрд╝рдкрд╛рдирд╛ рд╣реЛрдЧрд╛ред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдХреБрдЫ рд╢рдмреНрджреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ:


рджреВрд╕рд░реЗ, рдХреБрдЫ рдкрд░рд┐рдЪрдпрд╛рддреНрдордХ:
  1. рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ, рд╣рдо рдЕрдкрдиреЗ рдЬреАрд╡рди рдХреЛ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдСрдЯреЛрдкрд╛рдкрд░ рдФрд░ рдУрдЖрд░рдПрдо рдХреЗ рд╕рд╛рде рд╕рд░рд▓ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред

    рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЕрднреНрдпрд╛рд╕ рд╣реИ рдпрджрд┐ рдЖрдк рдЧрддрд┐ рдореЗрдВ рдХреБрдЫ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЪреВрдВрдХрд┐ рдореИрдВ рдЙрди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВ рдЬрд╣рд╛рдВ рдХреНрд╡реЗрд░реА рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп (HTTP рдФрд░ SQL рджреЛрдиреЛрдВ) рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдЬреЛ рдХрд┐ рдореИрдВ рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЦрд░реНрдЪ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рд╕рдмрд╕реЗ рд╕рд░рд▓реАрдХреГрдд рдирд┐рдпрдореЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЛ рдореИрдк рдХрд░ рд░рд╣рд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рдореИрдВ Dapper.NET рдкрд░ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЖрд╡рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ
  2. рдЯреАрдХреЗ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рд╣реИрдВ рдЬреЛ рдХрд┐ рдЕрд╕рдВрддреБрд╖реНрдЯ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рдирд┐рдпрдВрддреНрд░рдХ, рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХрд╛ рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдХ рдмрд╛рдХреА рд╣рд┐рд╕реНрд╕реЛрдВ рд╕реЗ рдмрд╣реБрдд рдЕрд▓рдЧ рд╣реИред рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рдФрд░ рдХреЛрдб рдкреАрдврд╝реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╛рдкреНрдд рд╕рдордп рдЗрди рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдкрд░рд┐рд╖реНрдХреГрдд рдХрд░рдиреЗ рдореЗрдВ рд▓рдЧрдиреЗ рд╡рд╛рд▓реЗ рд╕рдордп рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реИ
  3. рд╣рдорд╛рд░реЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдореЗрдВ рддрд░реНрдХ рдХреА рдПрдХ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рд╢рд╛рдорд┐рд▓ рд╣реЛрдЧреА ред рдЬреНрдпрд╛рджрд╛рддрд░ рдпрд╣ рдирд┐рд╕реНрд╕рдВрджреЗрд╣ рдкреНрд░рд╕реНрддреБрддрдХрд░реНрддрд╛ рдореЗрдВ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╕реЗ рдмрд╛рд╣рд░ рд▓реЗ рдЬрд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЗрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
  4. рдЖрд╡реЗрджрди рдореЗрдВ рдХрд╛рдлреА рдХрдбрд╝реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕рдорд░реНрдерди рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ рд╣реИрдВред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдореЗрдВ CSS рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдХрдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ JS рдХреЛ рдЕрдХреНрд╖рдо рд╣реЛрдиреЗ рдкрд░ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдмрдирд╛рдП рд░рдЦрддреЗ рд╣реБрдП "рд╡рд┐рдиреАрдд рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП


рдореЙрдбрд▓ рдбреЗрдЯрд╛ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ


рдХрд╛рд╢, рдЖрдЧреЗ рдмрдврд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╣рдореЗрдВ рдореЛрдЯреЗ рддреМрд░ рдкрд░ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рдХрд┐ ASP.NET MVC рдореЗрдВ рдбреЗрдЯрд╛ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рддрдВрддреНрд░ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рд╕реЗ рдЬреБрдбрд╝реА рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдУрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддрд╛ рд╣реИред

HtmlHelper рд╡рд░реНрдЧ рдЖрдкрдХреЗ рдкреГрд╖реНрда рдХреЗ рд▓рд┐рдП HTML рдорд╛рд░реНрдХрдЕрдк рдмрдирд╛рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИред рдЙрдирдореЗрдВ рд╕реЗ рдЬреНрдпрд╛рджрд╛рддрд░ рдлреЙрд░реНрдо рдХрдВрдЯреНрд░реЛрд▓ рдЯреИрдЧ (рдЗрдирдкреБрдЯ, рд▓реЗрдмрд▓, рдЖрджрд┐) рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реИрдВред рд╡реЗ рд╣рдорд╛рд░реЗ рд╣рд┐рдд рд╣реИрдВ
рдЗрди рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рджреЛ рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЪрд▓реЛ рдЙрдиреНрд╣реЗрдВ "рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдЬрдирд░реЗрдЯрд░" рдФрд░ "рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдореЗрдВ рдЬрдирд░реЗрдЯрд░" рдХрд╣рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝реАрд▓реНрдб рдЖрдЙрдЯрдкреБрдЯ рд╡рд┐рдзрд┐ (<рдЗрдирдкреБрдЯ рдкреНрд░рдХрд╛рд░ = "рдЯреЗрдХреНрд╕реНрдЯ" />) рд▓реЗрдВред

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдЬрдирд░реЗрдЯрд░ Html.TextBox () рд╡рд┐рдзрд┐ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрд╕рдХрд╛ рдбреЗрдЯрд╛ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИ - рдЖрдк рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рднрд░рддреЗ рд╣реИрдВ, рдЖрдк рдЗрд╕рдХрд╛ рд╡рд░реНрддрдорд╛рди рдореВрд▓реНрдп рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВред

рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдЬрдирд░реЗрдЯрд░, Html.TextBoxFor (), рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрд╣реБрдд рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИред рдкрд╣рд▓реА рдмрд╛рдд рдЬреЛ рдЖрдк рдиреЛрдЯрд┐рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдореВрд▓реНрдп рдХреНрд╖реЗрддреНрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдореВрд▓реНрдп рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рд╣рдо рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдкрд╛рд░рд┐рдд рдХрд░реЗрдВрдЧреЗ рдЬреЛ рд╣рдорд╛рд░реЗ рдореЙрдбрд▓ рд╕реЗ рдЗрд╕ рдореВрд▓реНрдп рдХреЛ рд▓реМрдЯрд╛рддрд╛ рд╣реИ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рдкреНрд░рд╕реНрддреБрддрдХрд░реНрддрд╛ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдЙрд╕ рдкрд░ рдмрд╛рдж рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ)ред рдпрджрд┐ рдЖрдк рдереЛрдбрд╝рд╛ рдЧрд╣рд░рд╛ рдЦреЛрджрддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣рдо рд╕реНрд╡рдпрдВ рдХрд╛рд░реНрдп рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ - рдПрдХ рд╡рд░реНрдЧ рдЬреЛ рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдп рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред

рдпрд╣ рдХреНрдпрд╛ рджреЗрддрд╛ рд╣реИ?
рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╣рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдЗрд╕рдХреЗ рдШрдЯрдХ рднрд╛рдЧреЛрдВ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░реЗрдВред рдПрдПрд╕рдкреА рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрддреНрдкрдиреНрди рдЯреИрдЧ рдХреЗ рдирд╛рдо рдФрд░ рдЖрдИрдбреА рдлрд╝реАрд▓реНрдб рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдХрд░рддрд╛ рд╣реИред
рдпреЛрдЬрдирд╛рдмрджреНрдз рд░реВрдк рд╕реЗ, рдЗрди рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
  1. рдЗрд╕ рджреГрд╢реНрдп рдХрд╛ рдЙрдкрд╕рд░реНрдЧ рд╡рд░реНрддрдорд╛рди рджреГрд╢реНрдп рдХреЗ ViewData рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдЙрд╕ рдкрд░ рдФрд░ рдЕрдзрд┐рдХ)
  2. рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╕реЗ рдПрдХ рд░реЗрдЦрд╛ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИ рдЬреЛ рдореЙрдбрд▓ рдХреЛ рдХреЙрд▓ рдХрд┐рдП рдмрд┐рдирд╛ рдкрд╛рд░рд┐рдд рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдХреЛрдб рдХреЛ рджреЛрд╣рд░рд╛рддреА рд╣реИред
    рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реЗ
    Html.TextBoxFor(m => m.SomeArray[someIndexer])
    someIndexer = 2 рдХреЗ рд╕рд╛рде рд╣рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧ "SomeArray [2]" рдорд┐рд▓рддрд╛ рд╣реИред
    рдореИрдВ рдпрд╣ рдирд╣реАрдВ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЖрдк рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ рд╣реИ:
    рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХреЗрд╡рд▓ рдХреНрд╖реЗрддреНрд░ <3 рдХреА рдЧрд╣рд░рд╛рдИ рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИ
    рдпрд╛рдиреА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐
    Html.TextBoxFor(m => m.SubModel.SomeArray[someIndexer])
    рдкрд╣рд▓реЗ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
  3. рдЪрд░рдг 1 рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдЙрдкрд╕рд░реНрдЧ, рдпрджрд┐ рдХреЛрдИ рд╣реЛ, рдЪрд░рдг 2 рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рд╕рдВрдпреБрдХреНрдд рд╣реИред рдкрд░рд┐рдгрд╛рдо рдкрд░рд┐рдгрд╛рдореА рдЯреИрдЧ рдХреЗ рдирд╛рдо рдлрд╝реАрд▓реНрдб рдХрд╛ рдореВрд▓реНрдп рд╣реИред
  4. рдЗрд╕ рдореВрд▓реНрдп рдореЗрдВ рдЖрдЧреЗ рд╕рднреА рд╡рд░реНрдг ',', '[', ']' рдХреЛ рдЕрдВрдбрд░рд╕реНрдХреЛрд░ ('_') рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдЖрдИрдбреА рдлрд╝реАрд▓реНрдб рдХрд╛ рдорд╛рди рд╣реИред
рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рдерд╛, рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдХрд┐ рдкреНрд░рд╕реНрддреБрддрд┐ рдЙрдкрд╕рд░реНрдЧ рдХрд╣рд╛рдБ рд╕реЗ рдЖрддрд╛ рд╣реИред
рдЬрдм рдЖрдк рдирд┐рдпрдВрддреНрд░рдХ рд╕реЗ рдпрд╣ (ред) рдХреЙрд▓ рдХрд░рдХреЗ рдПрдХ рджреГрд╢реНрдп рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ ViewDataDictionary рд╡рд░реНрдЧ рдХрд╛ рдПрдХ рдирдпрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдореЗрдВ рдПрдХ TemplateInfo рдлрд╝реАрд▓реНрдб рд╣реИ рдЬреЛ HtmlFieldPrefix рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╡рд░реНрддрдорд╛рди рджреГрд╢реНрдп рдХрд╛ рдЙрдкрд╕рд░реНрдЧ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдпрд╣ рдЦрд╛рд▓реА рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, ASP.NET MVC рдореЗрдВ рдПрдХ рджреГрд╢реНрдп рд╕реЗ рджреВрд╕рд░реЗ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рджреЛ рддрд░реАрдХреЗ рд╣реИрдВ - рдпрд╛ рддреЛ рдЗрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд╕рдВрджрд░реНрдн рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ (рдЬреИрд╕рд╛ рдХрд┐ HtmlHelper.Partial () рдХрд░рддрд╛ рд╣реИ), рдпрд╛ рдЗрд╕реЗ рд╡рд░реНрддрдорд╛рди рдХреЗ "рд╕рдмрд╡реНрдпреВ" рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд░реЗрдВ - рдпреЗ HtmlHelper.DisplayFor () рдФрд░ HtmlHelper рддрд░реАрдХреЗ рд╣реИрдВ .EditorFor ()ред
рджреВрд╕рд░рд╛ рдорд╛рдорд▓рд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИред рдЗрди рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЯреИрдЧ рдХреЗ рд▓рд┐рдП рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рджреНрд╡рд╛рд░рд╛ рдЬрдирд░реЗрдЯрд░ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЯреИрдЧ рдХреЗ рдмрдЬрд╛рдп, рд╣рдореЗрдВ рдПрдХ рдирдпрд╛ рдЯреЗрдореНрдкрд▓реЗрдЯ рдЙрдкрд╕рд░реНрдЧ рдХреЗ рд╕рд╛рде рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдПрдХ рджреГрд╢реНрдп рдорд┐рд▓рддрд╛ рд╣реИред

рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЙрджрд╛рд╣рд░рдг
рдирд┐рдпрдВрддреНрд░рдХ рд╕реЗ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ MainView.cshtml рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рджреГрд╢реНрдп рд╣реЛ:
@model App.Models.MainModel
<h1>MainView.cshtml</h1>

@using (this.Html.BeginForm())
{
this.Html.TextBoxFor(m => m.SomeText)
this.Html.EditorFor(m => m.SubModel, "SubView")
}

рдФрд░ рджреГрд╢реНрдп / рд╕рд╛рдЭрд╛ / EditorTemplates рдореЗрдВ рдкрдбрд╝реЗ SubView.cshtml рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рд╕рд╛рде рджреГрд╢реНрдп:
@model App.Models.SubModel
<h2>SubView.cshtml</h2>

this.Html.TextBoxFor(m => m.SubText)

рдкреНрд░рддрд┐рдкрд╛рджрди рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЯреИрдЧ рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рд╣реЛрдЧрд╛:
  1. <input type = "text" id = "SomeText" рдирд╛рдо = "SomeText" />
  2. <input type = "text" id = "SubModel_SubText" рдирд╛рдо = "SubModel.SubText />>

рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, SubModel рдЙрдкрд╕рд░реНрдЧ рдХреЛ HtmlHelper.EditorFor () рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рджрд┐рдП рдЧрдП рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдЕрдиреБрд╕рд╛рд░, SubView рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред


рддреЛ, рдорд╛рд░реНрдХрдЕрдк рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрд▓рд╛рдЗрдВрдЯ рдиреЗ рдбреЗрдЯрд╛ рджрд░реНрдЬ рдХрд┐рдпрд╛, рдЕрдиреБрд░реЛрдз рд╕рд░реНрд╡рд░ рдХреЛ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдм рд╣рдо рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ рдХреЛ рдХреИрд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдореЙрдбрд▓ рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рд╣рдо рдореЙрдбрд▓ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╡рд░реНрдЧ рд╣реЛрдиреЗ рдкрд░ рдорд╛рдорд▓реЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ)ред
  1. рд░реВрдЯрд┐рдВрдЧ рддрдВрддреНрд░ рдирд┐рдпрдВрддреНрд░рдХ рдкрджреНрдзрддрд┐ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреБрд░реЛрдз рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЙрдкрдпреБрдХреНрдд рд╣реИред
  2. рдЪрдпрдирд┐рдд рд╡рд┐рдзрд┐ рдХреЗ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреНрд░реЗрд╖рд┐рдд рдбреЗрдЯрд╛ рдХреЗ рдирд╛рдо рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░рддреЗ рд╣реБрдП рдЖрдиреЗ рд╡рд╛рд▓реЗ рдбреЗрдЯрд╛ рд╕реЗ рднрд░реЗ рд╣реЛрддреЗ рд╣реИрдВред
  3. рд╢реЗрд╖ рдорд╛рдкрджрдВрдбреЛрдВ рд╕реЗ, рдЬрд┐рд╕ рдореЙрдбрд▓ рдХреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреА рдЙрдореНрдореАрдж рд╣реИ, рдЙрд╕рдХреА рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИред
  4. рдбрд┐рдлреЙрд▓реНрдЯ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ (рдЦрд╛рд▓реА рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде) рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рдореЙрдбрд▓ рдХреНрд▓рд╛рд╕ рдХрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
    рдорд╣рддреНрд╡рдкреВрд░реНрдг: рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛ рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕рдореЗрдВ рдкреИрд░рд╛рдореАрдЯрд░ рдирд╣реАрдВ рд╣реИрдВред рд╡реИрдХрд▓реНрдкрд┐рдХ рдкреИрд░рд╛рдореАрдЯрд░ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ
  5. рдкреНрд░рддреНрдпреЗрдХ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдлрд╝реАрд▓реНрдб рдХреЗ рд▓рд┐рдП рдЬрд┐рд╕рдореЗрдВ рдбреЙрдЯ ("") рдирд╣реАрдВ рд╣реИ, рдЙрд╕реА рдирд╛рдо рдХрд╛ рдлрд╝реАрд▓реНрдб рдмрдирд╛рдП рдЧрдП рдореЙрдбрд▓ рдореЗрдВ рднрд░рд╛ рдЧрдпрд╛ рд╣реИ
  6. рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рднреА рд╢реЗрд╖ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП, рдЙрдкрд╕рд░реНрдЧ рдХреЗ рдЕрдиреБрд░реВрдк рдореЙрдбрд▓ рдлрд╝реАрд▓реНрдб рдЦреЛрдЬреЗ рдЬрд╛рддреЗ рд╣реИрдВред рд╡реЗ рд╕рдорд╛рди рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рднрд░реЗ рдЬрд╛рддреЗ рд╣реИрдВ, рдЪрд░рдг 3 рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВ

рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рдФрд░ рд╕реНрдкрд╖реНрдЯ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╕рд╛рдорд╛рдиреНрдп рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЗрд╕ рддрдВрддреНрд░ рдХреЛ рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдирд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рдкрд╛рд░рджрд░реНрд╢реА рд░реВрдк рд╕реЗ рдкрд╛рд░рджрд░реНрд╢реА рд░рд╛рдЬреНрдп рдореЙрдбрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдРрд╕рд╛ рдХрд░рдирд╛ рдерд╛, рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рднрд╛рдЧреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рдЗрд╕рдХрд╛ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛)ред


рдирд┐рд╖реНрдХрд░реНрд╖

рдпрд╣ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ, рд╣рдордиреЗ ASP.NET MVC рдХрд╛ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреНрдпреВрдирддрдо рдЖрд╡рд╢реНрдпрдХ рд╕реАрдЦрд╛ рд╣реИ, рдФрд░ рд╣рдо рдЕрднреНрдпрд╛рд╕ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

Source: https://habr.com/ru/post/In119353/


All Articles