ASP.NET MVC 3: рдирд╡рд╛рдЪрд╛рд░реЛрдВ рдХрд╛ рдПрдХ рд╡рд┐рд╕реНрддреГрдд рдЕрд╡рд▓реЛрдХрди

рдЫрд╡рд┐



ASP.NET MVC 2 рдврд╛рдВрдЪреЗ рдХреА рдЕрдВрддрд┐рдо рд░рд┐рд▓реАрдЬ рдХреЗ рдЪрд╛рд░ рдорд╣реАрдиреЗ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рдмрд╛рдж, рд╡рд┐рдХрд╛рд╕ рдЯреАрдо ASP.NET MVC 3 рдХреЗ рдкрд╣рд▓реЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреА рдХреГрдкрд╛ рдХрд░ рд░рд╣реА рд╣реИред рдШреЛрд╖рдгрд╛ рдФрд░ рдбрд╛рдЙрдирд▓реЛрдб рд▓рд┐рдВрдХ рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред



рдпрд╣ рдЖрд▓реЗрдЦ рдЙрди рдирд╡рд╛рдЪрд╛рд░реЛрдВ рдФрд░ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХрд╛ рдЕрд╡рд▓реЛрдХрди рджреЗрдЧрд╛ рдЬреЛ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╣реБрдП рд╣реИрдВред



.NET рдлреНрд░реЗрдорд╡рд░реНрдХ 4.0 рдХреЗ рд▓рд┐рдП рд╕рдВрдЧрддрддрд╛ рдФрд░ рд╕рдорд░реНрдерди



рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╡рд┐рдкрд░реАрдд, ASP.NET MVC 3 рдХреЗрд╡рд▓ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдЪреМрдереЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рдПрдХреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдбреЗрд╡рд▓рдкрд░ рдШрдЯрдХ рдХреЗрд╡рд▓ рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2010 рдФрд░ рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╡реЗрдм рдбреЗрд╡рд▓рдкрд░ рдПрдХреНрд╕рдкреНрд░реЗрд╕ 2010 рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерд┐рдд рд╣реИрдВред



ASP.NET MVC 3 рдлреНрд░реЗрдорд╡рд░реНрдХ ASP.NET MVC 2 рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдПрдХ рджреВрд╕рд░реЗ рд╕реЗ рдЕрд▓рдЧ рд╕реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред



ASP.NET MVC 3 рдХреЗ рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛



рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рд╕реЗ рдПрдХ рдирдИ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рддрдХ рдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдПрдХ рдирдпрд╛ рдПрдорд╡реАрд╕реА 3 рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдирд╛ рдФрд░ рдкреБрд░рд╛рдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд╕рднреА рдШрдЯрдХреЛрдВ рдХреЛ рдЗрд╕рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рд╣реИ: рдирд┐рдпрдВрддреНрд░рдХ, рд╡рд┐рдЪрд╛рд░, рд╕рд╣рд╛рдпрдХ рдлрд╛рдЗрд▓реЗрдВред



ASP.NET MVC 3 рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 1 рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ ASP.NET MVC 2 рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдЪрд╛рд╣рд┐рдП:

ASP.NET MVC 3 рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 1 рдореЗрдВ рдирд╡рд╛рдЪрд╛рд░



рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдХрдИ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╡рд╛рдЪрд╛рд░ рд╣реИрдВред



рд░реЗрдЬрд╝рд░ рд╡реНрдпреВ рдЗрдВрдЬрди рд╕рдкреЛрд░реНрдЯ



рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рд╢реБрд░реВ рд╣реЛрдХрд░, ASP.NET MVC рдирдП рд░реЗрдЬрд░ рд╡реНрдпреВ рдорд╛рд░реНрдХрдЕрдк рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддрд╛ рд╣реИред рдмрд╣реБрдд рдкрд╣рд▓реЗ рдирд╣реАрдВ, рд░реЗрдЬрд░ рдХреЛ рд╡реЗрдмрдорд╛рд░реНрдЯрд┐рдХреНрд╕ рд╡реЗрдм рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдЯреВрд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдореВрд▓ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд░реЗрдЬрд░ рдЕрдм MVC рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИред



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



рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдиреАрдЪреЗ рдкреБрд░рд╛рдиреЗ рдкреНрд░рд╕реНрддреБрддрд┐ рдЗрдВрдЬрди (рдмрд╛рдПрдВ) рдФрд░ рдирдП рд░реЗрдЬрд░ рдЗрдВрдЬрди (рджрд╛рдПрдВ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдПрдХ рд░реВрдк рд╣реИред



imageimage



рд░реЗрдЬрд░ рдХреЗ рдмреАрдЪ рдореБрдЦреНрдп рдЕрдВрддрд░ рдЬреЛ рдЖрдкрдХреА рдЖрдВрдЦ рдХреЛ рдкрдХрдбрд╝рддрд╛ рд╣реИ рд╡рд╣ "<%%>" рд╕реЗрдЯ рдЦреЛрд▓рдиреЗ рдФрд░ рдмрдВрдж рдХрд░рдиреЗ рдХреА рдХрдореА рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ @ рдпреВрдЬрд╝рд┐рдВрдЧ рдЧреНрд░реБрдкрд┐рдВрдЧ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдореЗрдВ рд╕рдорд╛рдкрди рддрддреНрд╡ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдХреЗрд╡рд▓ "}} рдЪрд░рд┐рддреНрд░ рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред WebForms рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ "<%}%>" рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рд╕рд╛рде рдЗрд╕рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВ рдФрд░ рдЖрдк рд╕рдордЭреЗрдВрдЧреЗ рдХрд┐ рд░реЗрдЬрд░ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рдореБрдЦреНрдп рдлреЛрдХрд╕ рдХреНрдпрд╛ рд╣реИ - рдХреЛрдб рдФрд░ рдЗрд╕рдХреА рд╕рдВрдХреНрд╖рд┐рдкреНрддрддрд╛ рдХреЛ рдХрдо рдХрд░рдХреЗ рдбреЗрд╡рд▓рдкрд░ рдХреА рдЙрддреНрдкрд╛рджрдХрддрд╛ред



рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдХреЛрдб рдореЗрдВ рд╢рд╛рдЦрд╛рдПрдБ рдмрдирд╛рддреЗ рд╕рдордп рд░реЗрдЬрд░ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдкреНрд░рдХрдЯ рд╣реЛрддреА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡реЗрдмрдлрд╛рд░реНрдо рдФрд░ рд░реЗрдЬрд░ рдореЗрдВ рдХреБрдЫ рдХреЛрдб рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:



imageimage[40]



рдпрд╣ рдЙрди рд╢рд╛рдЦрд╛рдУрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдердХрд╛рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ, рдЬрд┐рдиреНрд╣реЗрдВ рдорд╛рд░реНрдХрдЕрдк рд╕реЗ рд╢рд░реНрддреЛрдВ рдХреЛ "<%%>" рддрддреНрд╡реЛрдВ рд╕реЗ рд╣рд░рд╛рдирд╛ рд╣реИред рджреВрд╕рд░реА рдУрд░, рджреЗрдЦреЗрдВ рдХрд┐ рд░реЗрдЬрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдорд╛рд░реНрдХрдЕрдк рд╢рд╛рдЦрд╛рдПрдВ рдХрд┐рддрдиреА рд╕рд╛рдордВрдЬрд╕реНрдпрдкреВрд░реНрдг рд░реВрдк рд╕реЗ рджрд┐рдЦрддреА рд╣реИрдВред рдЙрд╕реА рд▓рд╛рдн рдХреЛ рдХрдИ рдЕрдиреНрдп рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдЪрдХреНрд░ред



рд░реЗрдЬрд░ рдореЗрдВ рди рдХреЗрд╡рд▓ рдкрд╛рддреНрд░реЛрдВ рдХреЛ рдЦреЛрд▓рдиреЗ рдФрд░ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдореЗрдВ рдЕрдВрддрд░ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдиреАрдЪреЗ рдкреГрд╖реНрда рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдФрд░ WebFroms рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рд╢реАрд░реНрд╖рдХ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рд╣реИ:



image



рдПрдХ рд╣реА рдХреЛрдб, рд▓реЗрдХрд┐рди рд░реЗрдЬрд░ рд╢реИрд▓реА рдореЗрдВ, рдиреАрдЪреЗ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:



image



рдЖрдк рд╕реНрдХреЙрдЯ рдЧреБрдереНрд░реА рдХреЗ рд▓реЗрдЦ рдХреЗ рдЗрд╕ рдЕрдиреБрд╡рд╛рдж рд╕реЗ рд░реЗрдЬрд░ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЗрдВрдЬрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред



рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рдХрдИ рдкреНрд░рд╕реНрддреБрддрд┐ рдЗрдВрдЬрди рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди



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



clip_image001



рджреГрд╢реНрдп рдФрд░ ViewModel рдХреЗ рдЧрддрд┐рд╢реАрд▓ рдЧреБрдг



рдЪреВрдВрдХрд┐ MVC3 рдХреЗрд╡рд▓ .NET 4.0 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдлреНрд░реЗрдорд╡рд░реНрдХ рдбреЗрд╡рд▓рдкрд░реНрд╕ ASP.NET MVC рдореЗрдВ .NET рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗред



рдЗрди рд▓рд╛рднреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдирдП рдЧрддрд┐рд╢реАрд▓ рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рд╣реИред MVC 3 рдореЗрдВ, рдкрд░рд┐рдЪрд┐рдд ViewData рд╕рдВрдкрддреНрддрд┐ рдХреЛ View рдФрд░ ViewModel рдХреЗ рджреЛ рдЧрддрд┐рд╢реАрд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХреЗ рдмрдЬрд╛рдп рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:



ViewData ["рд╢реАрд░реНрд╖рдХ"] = "рд╢реАрд░реНрд╖рдХ"; </ em

ViewData ["рд╕рдВрджреЗрд╢"] = "рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб!";





рдЕрд▓рдЧ-рдЕрд▓рдЧ рдорд╛рдиреЛрдВ рдХреЛ рдЖрд░рдВрднрд┐рдХ рдХрд░реЗрдВ:



ViewModel.Title = "рд╢реАрд░реНрд╖рдХ";

ViewModel.Message = "рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб!";



рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рддреБрд░рдиреНрдд рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдмрдирд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ .NET 4.0 рдореЗрдВ рдПрдХ рдЧрддрд┐рд╢реАрд▓ рдкреНрд░рдХрд╛рд░ рдХреА рд╕рдВрдкрддреНрддрд┐ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рджреГрд╢реНрдп рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЦреЗрддреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛:



<h2> View.Title </ h2>

<p> View.Message </ p>



рдирд┐рд░реНрднрд░рддрд╛ рдЗрдВрдЬреЗрдХреНрд╢рди рд╕рд╣рд╛рдпрддрд╛



рдПрдорд╡реАрд╕реА 3 рдореЗрдВ, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ рдХреА рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЛ рдмрдврд╝рд╛рдпрд╛ рдФрд░ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рд╕рд╣рд╛рд░рд╛ рд▓реЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ рдмреЙрдХреНрд╕ рд╕реЗ рдХреЛрдб рдХреЛ рдмрд╛рд╣рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ред



ASP.NET MVC 3 рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 1 рдирд┐рдореНрди рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝рддрд╛ рд╣реИ: рдПрдХ рдЗрдВрдЬреЗрдХреНрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдбреЗрд╡рд▓рдкрд░ рдХреЛ IServiceLocator рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛:



рдЫрд╡рд┐



рдЙрд╕рдХреЗ рдмрд╛рдж, рдбреЗрд╡рд▓рдкрд░ рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрдерд┐рд░ рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдирдпрд╛ рдЙрджрд╛рд╣рд░рдг рджрд░реНрдЬ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:







рдбреЗрд╡рд▓рдкрд░ IServiceLocator рдХрд╛ рдПрдХ рдирдпрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП SetCurrent рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред



рдПрдХ рдирдпрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж, ASP.NET MVC 3 рдЗрдВрдЬрди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд░реЗрдЧрд╛: ASP.NET MVC 3 рдХреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЛрдб рдЗрдВрдЬреЗрдХреНрд╢рди рдХреНрд╖рдорддрд╛рдПрдВ рдкреНрд░рджрд╛рди рдХрд░реЗрдВрдЧреЗ: рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдмрджрд▓рд╛рд╡ рдорд╛рдирдХ ASP.NET MVC рддрдВрддреНрд░ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдХреЛрдб рдЗрдВрдЬреЗрдХреНрд╢рди рд╕рдорд░реНрдерди рдХреА рд╢реБрд░реВрдЖрдд рдХреЗ рд▓рд┐рдП рдХрд┐рдП рдЧрдП рдереЗ:

рд╡реИрд╢реНрд╡рд┐рдХ рдлрд┐рд▓реНрдЯрд░



MVC 3 рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рдлрд╝рд┐рд▓реНрдЯрд░ рддрдВрддреНрд░ рдЬреЛрдбрд╝рддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдЙрди рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рд╣рд░ рдмрд╛рд░ рдХрд┐рд╕реА рднреА рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдлрд╝рд┐рд▓реНрдЯрд░ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрдерд┐рд░ рд╡рд░реНрдЧ GlobalFilters рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ :



GlobalFilters.Filters.Add (рдирдИ MyActionFilter ());



рдЖрдк рдирдП IFilterProvider рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрдВрдЬреЗрдХреНрд╢рди рдмрдирд╛рдХрд░ рд╡реИрд╢реНрд╡рд┐рдХ рдлрд╝рд┐рд▓реНрдЯрд░ рддрдВрддреНрд░ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдЖрдкрдХреЛ рд╡реИрд╢реНрд╡рд┐рдХ рдлрд╝рд┐рд▓реНрдЯрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рддрд░реНрдХ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред



JsonValueProviderFactory рдореВрд▓реНрдп рдкреНрд░рджрд╛рддрд╛



рдирдпрд╛ рдореВрд▓реНрдп рдкреНрд░рджрд╛рддрд╛ рдЖрдкрдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ JSON рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдЕрдиреБрд░реЛрдз рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдХрд╛рд░реНрд░рд╡рд╛рдИ рд╡рд┐рдзрд┐ рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдкрд░ рдореИрдк рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред рдкрд╣рд▓реЗ, рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ ASP.NET MVC рдлреНрдпреВрдЪрд░реНрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рд╣реЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред



рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ MIME рдкреНрд░рдХрд╛рд░ рдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди / json рдХреЗ рд╕рд╛рде POST рдЕрдиреБрд░реЛрдз рдореЗрдВ рдорд╛рди рд╣реЛрддрд╛ рд╣реИ:



"" ProductName ":" рдорд┐рд▓реНрдХ "," рдХреЙрд╕реНрдЯ ":" 12.0 "}



рдлрд┐рд░, JsonValueProviderFactory рдкреНрд░рджрд╛рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ , рдпреЗ рдорд╛рди рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдирд┐рдореНрди рдХреНрд░рд┐рдпрд╛ рдореЗрдВ ProductModel рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рде рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдЕрд╕рд╛рдЗрди рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ:



[HttpPost]

рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ ActionResult SaveProduct (ProductModel productModel)

{

...

}



рдкреНрд░рдХрд╛рд░ ProductModel рдХреЗ рд░реВрдк рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ



рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╡рд░реНрдЧ ProductModel

{

publi рд╕реНрдЯреНрд░рд┐рдВрдЧ ProductName {рдкреНрд░рд╛рдкреНрдд; рд╕реЗрдЯ ;;

рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд▓рд╛рдЧрдд {рдкреНрд░рд╛рдкреНрдд; рд╕реЗрдЯ;}

}



.NET 4.0 рд╕рддреНрдпрд╛рдкрди рд╡рд┐рд╢реЗрд╖рддрд╛ рдФрд░ IValidatableObject рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди



ValidationAttribute рд╡рд░реНрдЧ .NET 4.0 рдореЗрдВ рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ ValidationContext рдХреЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рдирдП рдЕрддрд┐рднрд╛рд░рд┐рдд IsValid рд╡рд┐рдзрд┐ рдХреЗ рд╕рд╛рде рд╡рд┐рд╕реНрддрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдпрд╣ рдкреИрд░рд╛рдореАрдЯрд░, рдирдП рдЧреБрдг рдорд╛рди рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рддреНрдпрд╛рдкрди рд╕рдВрджрд░реНрдн рдФрд░ рд╕рддреНрдпрд╛рдкрди рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рди рдХреЗрд╡рд▓ рд╡рд░реНрддрдорд╛рди рд╕рдВрдкрддреНрддрд┐ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛, рдмрд▓реНрдХрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдЕрдиреНрдп рдЧреБрдг рднреА рдФрд░ рдЙрдирдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдорд╛рдиреНрдп рдХрд░реЗрдЧрд╛ред



image



рдКрдкрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдЙрджрд╛рд╣рд░рдг рд╕рддреНрдпрд╛рдкрди рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХреЗ рджреЛ рдЧреБрдгреЛрдВ рдХреА рддреБрд▓рдирд╛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред



рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, .NET 4.0 рдореЗрдВ рдПрдХ рдирдпрд╛ IValiditableObject рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ , рдЬреЛ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдореЙрдбрд▓ рдХреЗ рд╡рд░реНрдЧ рд╕реНрддрд░ рдкрд░ рд╕рддреНрдпрд╛рдкрди рддрд░реНрдХ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред



image



рдореЙрдбрд▓ рдХреЗ рдКрдкрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЖрдИрд╡реАрдбрдмрд▓рд┐рдЯреЗрдмрд▓ рдСрдмрдЬреЗрдХреНрдЯ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЛ рдЕрдкрдиреЗ рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдП рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред MVC 3 рдЗрд╕ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдореЙрдбрд▓ рдХреЛ рдорд╛рдиреНрдп рдХрд░рддрд╛ рд╣реИред



рдЗрдВрдЯрд░рдлрд╝реЗрд╕ IClientValidatable



рдЗрд╕ рдирдП рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ



image



рдпрд╣ рдЧреНрд░рд╛рд╣рдХ рд╕рддреНрдпрд╛рдкрди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╡рд╛рд▓реА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рд╕рддреНрдпрд╛рдкрди рдврд╛рдВрдЪреЗ рдХреЛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред



.NET 4 рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди



MVC 3 рдирдИ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдЬреЛ .NET 4 рдореЗрдВ рдкреЗрд╢ рдХрд┐рдП рдЧрдП рдереЗред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, DisplayAttributeред MVC 3 рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдирдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреА рдПрдХ рдкреВрд░реА рд╕реВрдЪреА рдЕрднреА рддрдХ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ, рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдХреЛрдИ рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рд╣реИ, рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдХреЛрдб рдЕрднреА рддрдХ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИрдВред



IMetadataAware



рдирдпрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ



image



рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ рдХрд┐ рдЬрдм рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЙрд╕ рдХреНрд╖рдг рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рдерд╛ред рдЗрд╕ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрд╕реЛрд╕рд┐рдПрдЯреЗрдбрдореИрдбреЗрдЯрд╛рдЯрд╛ рдкреЛрдкреНрд░реЛрдЗрдбрд░ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА рдХрдХреНрд╖рд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, DataAnnotations рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд╡рд░реНрдЧ, DataAnnotationsModelMetadataProviderред



рдирдП рдкреНрд░рдХрд╛рд░ рдХреЗ рдПрдХреНрд╢рди рдкрд░рд┐рдгрд╛рдо



рдПрдорд╡реАрд╕реА 3 рдиреЗ рдПрдХреНрд╢рди рдкрд░рд┐рдгрд╛рдо рд▓реМрдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдирдП рдкреНрд░рдХрд╛рд░ рдкреЗрд╢ рдХрд┐рдПред



HttpNotFoundResult


рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдХреНрд░рд┐рдпрд╛ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рдХрд╛рд░ рдЬреЛ рдПрдХ рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛ рд╣реИ рдпрд╣ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рдЕрдиреБрд░реЛрдзрд┐рдд рд╕рдВрд╕рд╛рдзрди рдирд╣реАрдВ рдорд┐рд▓рд╛ (HTTP 404)ред рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдореЗрдВ рдПрдХ рдирдпрд╛ рд╕рд╣рд╛рдпрдХ рд╡рд┐рдзрд┐ рд╢рд╛рдорд┐рд▓ рд╣реИ, HttpNotFound (), рдЬреЛ HttpNotFoundResult рдкреНрд░рдХрд╛рд░ рд▓реМрдЯрд╛рддрд╛ рд╣реИ :



image



HttpStatusCodeResult


рдирдП рд╡рд░реНрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдШреЛрд╖рд┐рдд



image



HttpStatusCodeResult рд╡рд░реНрдЧ рдХреЛ рдПрдХ рдХреНрд░рд┐рдпрд╛ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдПрдХ рдордирдорд╛рдирд╛ HTTP рдХреЛрдб рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред



рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рдореЗрдВ рджреЛ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдЬреЛ HTTP рдХреЛрдб рдХреЗ рдбрд┐рдЬрд┐рдЯрд▓ рдореВрд▓реНрдп рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рджреВрд╕рд░рд╛ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд▓рд╛рдЗрди рд▓реЗрддрд╛ рд╣реИред



рд▓рдЧрд╛рддрд╛рд░ рдЕрдиреБрдкреНрд░реЗрд╖рд┐рдд


MVC3 рдПрдХ рд╕реНрдерд╛рдпреА рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ (HTTP 301) рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХреНрд╢рди рдкрд░рд┐рдгрд╛рдо рд▓реМрдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рддрд╛ рд╣реИред рдпрд╣ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирдП рдирд┐рдпрдВрддреНрд░рдХ рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

MVC2 рдХреЗ рд╕рд╛рде рдЕрд╕рдВрдЧрдд рдкрд░рд┐рд╡рд░реНрддрди



рдЕрдкрд╡рд╛рдж рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рдХреНрд░рдо рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рдирд┐рдпрдВрддреНрд░рдХ рдкрд░ рд▓рд╛рдЧреВ рдЕрдкрд╡рд╛рдж рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдП рдЧрдП рдлрд╝рд┐рд▓реНрдЯрд░ рд╕реЗ рдкрд╣рд▓реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдП рдЧрдП рдереЗ (рдпрджрд┐ рдЙрдирдХреЗ рдкрд╛рд╕ рд╕рдорд╛рди рдЖрджреЗрд╢ рдореВрд▓реНрдп рдерд╛)ред рдЕрдм рдФрд░ рдЖрдЧреЗ рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдмрджрд▓ рд░рд╣рд╛ рд╣реИред рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЕрдкрд╡рд╛рдж рдлрд╝рд┐рд▓реНрдЯрд░ рдкрд╣рд▓реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗ, рдЙрд╕рдХреЗ рдмрд╛рдж рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдП рдЧрдП рдлрд╝рд┐рд▓реНрдЯрд░ред рдпрджрд┐ рдЗрди рдлрд┐рд▓реНрдЯрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдСрд░реНрдбрд░ рдХрд╛ рдореВрд▓реНрдп рдЕрд▓рдЧ рд╣реИ, рддреЛ рд╡реЗ рдСрд░реНрдбрд░ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдСрд░реНрдбрд░ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкрд╣рд▓реЗ рд╣реА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред



рдЬреНрдЮрд╛рдд рдореБрджреНрджреЗ



рдЗрд╕ рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рдХрдИ рд╕рдорд╕реНрдпрд╛рдПрдБ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рднрд╡рд┐рд╖реНрдп рдХреЗ рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:

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



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



рдЗрд╕реАрд▓рд┐рдП, рдирдИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдЕрдзреНрдпрдпрди рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рднрд╛рдЧреЛрдВ рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВ рд╕рднреА ASP.NET MVC рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реЗ рдЖрдЧреНрд░рд╣ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ MVC3 рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 1 рд░рд┐рд▓реАрдЬрд╝ рдкрд░ рдкреВрд░рд╛ рдзреНрдпрд╛рди рджреЗрдВ рдФрд░ рдЕрдкрдиреА рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рд╕рдордп рд╕рдорд░реНрдкрд┐рдд рдХрд░реЗрдВред




All Articles