ASP.NET MVC рдлреНрд░реЗрдорд╡рд░реНрдХ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рд╕рд░реНрд╡рд░ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рддреНрдпрд╛рдкрди рджреЛрдиреЛрдВ рдХреЛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред рдЕрдкрдиреЗ рдореЙрдбрд▓реЛрдВ рдореЗрдВ DataAnnotations рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд▓рд┐рдП рд╕рддреНрдпрд╛рдкрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдмрдирд╛рддрд╛ рд╣реИред рдмрджрд▓реЗ рдореЗрдВ, рдлреНрд░реЗрдорд╡рд░реНрдХ JQuery рд╕рддреНрдпрд╛рдкрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рд░реНрд╡рд░ рд╕рддреНрдпрд╛рдкрди рдХреЗ рдмрд╛рдж рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣рд╛рдВ рдПрдХ рдЫреЛрдЯреЗ рдореЙрдбрд▓ рдФрд░ рддреНрд░реБрдЯрд┐ рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рд╕рддреНрдпрд╛рдкрди рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИред
рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╕рднреА рдореЙрдбрд▓ рдлрд╝реАрд▓реНрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ "[рдЖрд╡рд╢реНрдпрдХ]" рд╡рд┐рд╢реЗрд╖рддрд╛ рджреНрд╡рд╛рд░рд╛ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕реАрд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдлрд╝реАрд▓реНрдб рдХреЗ рдиреАрдЪреЗ рдПрдХ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИред рдмрд╕ рдорд╣рд╛рди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдХреНрдпрд╛ рдЧрд▓рдд рд╣реИ? рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдорд╕реНрдпрд╛ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдЙрд╕реА рд╕рдордп рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдПрдХ рдФрд░ "рдЪрд┐рдк" рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо "рдореВрд▓реНрдп" рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдХрд┐рд╕реА рднреА рдЧреИрд░-рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдЪрд░рд┐рддреНрд░ рдХреЛ рджрд░реНрдЬ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВрдЧреЗред
рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рд╣рдордиреЗ рдЕрдкрдиреЗ рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, ASP.NET MVC рд╕рдордЭрддрд╛ рд╣реИ рдХрд┐ "рдореВрд▓реНрдп" рдлрд╝реАрд▓реНрдб рдПрдХ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рдПрдХ рдмрд╣реБрдд рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ, рди рдХрд┐ рдмрд╣реБрдд рд╕реМрдВрджрд░реНрдп рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕рдХреА рдЕрддреНрдпрдзрд┐рдХ рдКрдВрдЪрд╛рдИ рд╕реЗ рд░реВрдк рдХреА рдКрдВрдЪрд╛рдИ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рд╣рдореЗрдВ рд╢реЛрднрд╛ рдирд╣реАрдВ рджреЗрддрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдРрд╕реЗ рдХрдИ рд╕рдВрджреЗрд╢реЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдЬреЛ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ рдпрд╛ рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рдлреЙрд░реНрдо рдХреА рдКрдВрдЪрд╛рдИ рдореЗрдВ рдХреВрдж рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рдкреГрд╖реНрда рдХреЗ рд╕рдордЧреНрд░ рд╕реНрд╡рд░реВрдк рдХреЛ рдирдХрд╛рд░рд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдЧрд╛ред
рдЗрд╕ рдлреЙрд░реНрдо рдХреЛ рдЖрдВрдЦ рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рдЖрдХрд░реНрд╖рдХ рдмрдирд╛рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдореЗрдВ, рдФрд░ рдЗрд╕рдХреЗ рдЖрдХрд╛рд░ рдореЗрдВ рдирд┐рд░рдВрддрд░ рдмрджрд▓рд╛рд╡ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдпрд╣ рджрд┐рдЦрд╛рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдХреИрд╕реЗ рд░рдВрдЧ рдХреЗ рд╕рд╛рде рд╡рд╛рдВрдЫрд┐рдд рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдХреЗ рд╕рддреНрдпрд╛рдкрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рд╕рдВрдХреЗрдд рджреЗ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░
Tipsy jQuery рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рддреНрдпрд╛рдкрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдкрд╛рда рднреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╣рдорд╛рд░рд╛ рд▓рдХреНрд╖реНрдп рдкрд┐рдЫрд▓реЗ рдлреЙрд░реНрдо рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлреЙрд░реНрдо рдореЗрдВ рд▓рд╛рдирд╛ рд╣реИ:
рдЖрдЗрдП рдЕрдкрдиреЗ рдлреЙрд░реНрдо рдХреЗ рд░реЗрдЬрд░ рдорд╛рд░реНрдХрдЕрдк рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВред
@model WebUI.ViewModels.LinkViewModel @using (Html.BeginForm("AddLink", "Links", FormMethod.Post, new { enctype = "multipart/form-data", name = "AddLinkForm", @class = "add-link" })) { <h2> <b>Add a new link</b><a href="#">(?)</a></h2> <div class="right"> <div class="fields"> <div class="close-button" id="hide_form_link"></div> <div id="cell"> <div class="text-field name-url"> @Html.EditorFor(model => model.Name) @Html.ValidationMessageFor(model=>model.Name, null, new {style="display:none;"}) </div> </div> <div id="cell"> <div class="text-field for-file"> @Html.TextBoxFor(model => model.Link, new { @class = "file_1", @type = "file" }) @Html.ValidationMessageFor(model => model.Link, null, new { style = "display:none;" }) </div> </div> <div id="cell"> <div class="text-field price-url"> @Html.EditorFor(model => model.Price) @Html.ValidationMessageFor(model => model.Price, null, new { style = "display:none;" }) </div> </div> </div> <div class="button"> <span class="left-bg"></span><span class="right-bg">Add link </span> <input type="submit" name="" /> </div> </div> <div class="clearFix"> </div> }
рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдорд╛рдирдХ рд╣реИ, рдореИрдВ рдХреЗрд╡рд▓ рдХреБрдЫ рд╡рд┐рд╡рд░рдг рдиреЛрдЯ рдХрд░реВрдВрдЧрд╛:
- рдкреНрд░рддреНрдпреЗрдХ рдЗрдирдкреБрдЯ рдХреЛ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдмреНрд▓реЙрдХ рдореЗрдВ рд▓рдкреЗрдЯрд╛ рдЬрд╛рддрд╛ рд╣реИ
;
рд╕рддреНрдпрд╛рдкрди рд╕рдВрджреЗрд╢ style = "display:none;"
рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдЫрд┐рдкрд╛ рд╣реБрдЖ рд╣реИ ред
рдпрд╣ рд╕рдм, рд╕рд░рд▓ рдЪрд░рдгреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣рдордиреЗ рд░рдВрдЧ рдХреЛ рд╕рддреНрдпрд╛рдкрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рд░реВрдк рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛, рдФрд░ рдЗрд╕реА рддрддреНрд╡ рдХреЗ рдКрдкрд░ рдордВрдбрд░рд╛рдиреЗ рдкрд░ рдЯреВрд▓рдЯрд┐рдкреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рддреНрдпрд╛рдкрди рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рднреА рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ред