{"id":114,"date":"2021-03-23T14:38:11","date_gmt":"2021-03-23T05:38:11","guid":{"rendered":"https:\/\/mvc.auctionpro.co.kr\/?page_id=114"},"modified":"2021-03-24T11:44:56","modified_gmt":"2021-03-24T02:44:56","slug":"html-beginform-and-ajax-beginform","status":"publish","type":"page","link":"https:\/\/mvc.auctionpro.co.kr\/?page_id=114","title":{"rendered":"Html.BeginForm() and Ajax.BeginForm()"},"content":{"rendered":"<h3>Remark :<br \/>\nHtml.BeginForm() and Ajax.BeginForm()<\/h3>\n<h3>Html.BeginForm()<\/h3>\n<pre class=\"lang:default decode:true \" title=\"ProductModel.cs\">using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;\r\nusing System.Web;\r\nusing System.Web.Mvc; \/\/List&lt;SelectListItem&gt;\r\nusing System.ComponentModel.DataAnnotations; \/\/RegularExpression\r\n\r\nnamespace razor_and_xslt.Models\r\n{\r\n    public class ProductModel\r\n    {\r\n        public ProductModel()\r\n        {\r\n            Category = new List&lt;SelectListItem&gt;();\r\n            Category.Add(new SelectListItem\r\n            {\r\n                Text = \"Books\",\r\n                Value = \"1\"\r\n            });\r\n            Category.Add(new SelectListItem\r\n            {\r\n                Text = \"Mobiles &amp; Tablets\",\r\n                Value = \"2\"\r\n            });\r\n            Category.Add(new SelectListItem\r\n            {\r\n                Text = \"Laptops &amp; Accessories\",\r\n                Value = \"3\"\r\n            });\r\n        }\r\n\r\n        public int ProductId { get; set; }\r\n        [Required]\r\n        public string Name { get; set; }\r\n        public string Description { get; set; }\r\n        public string Manufacturer { get; set; }\r\n        [RegularExpression(@\"^\\$?\\d+(\\.(\\d{2}))?$\")]\r\n        public decimal BasePrice { get; set; }\r\n        public IList&lt;SelectListItem&gt; Category { get; set; }\r\n        public int CategoryId { get; set; }\r\n    }\r\n}<\/pre>\n<pre class=\"lang:default decode:true \" title=\"HomeController.cs\">using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;\r\nusing System.Web;\r\nusing System.Web.Mvc;\r\nusing razor_and_xslt.Models; \/\/ProductModel\r\n\r\nnamespace razor_and_xslt {\r\n\r\n \r\n        public ActionResult ProductHtml()\r\n        {\r\n            ProductModel model = new ProductModel();\r\n            return View(model);\r\n        }\r\n\r\n        [HttpPost]\r\n        public ActionResult ProductHtml(ProductModel model)\r\n        {\r\n            if (ModelState.IsValid)\r\n            {\r\n                System.Text.StringBuilder sb = new System.Text.StringBuilder();\r\n\r\n                sb.Append(\"Product Name :\" + model.Name + \"&lt;\/br\/&gt;\");\r\n                sb.Append(\"Description :\" + model.Description + \"&lt;\/br\/&gt;\");\r\n                sb.Append(\"Manufacturer :\" + model.Manufacturer + \"&lt;\/br\/&gt;\");\r\n                sb.Append(\"Price :\" + model.BasePrice + \"&lt;\/br\/&gt;\");\r\n                sb.Append(\"Category :\" + model.Category[model.CategoryId - 1].Text);\r\n                return Content(sb.ToString());\r\n            }\r\n            else\r\n            {\r\n                return View(model);\r\n            }\r\n        }\r\n    }\r\n\r\n}\r\n<\/pre>\n<pre class=\"lang:default decode:true \" title=\"ProductHtml.cshtml\">@model razor_and_xslt.Models.ProductModel\r\n@using System.Web.Mvc.Html;\r\n@{\r\n    ViewBag.Title = \"Product Master HTML\";\r\n}\r\n&lt;!DOCTYPE html&gt;\r\n&lt;html&gt;\r\n&lt;head&gt;\r\n    &lt;meta name=\"viewport\" content=\"width=device-width\" \/&gt;\r\n    &lt;title&gt;ProductHtml&lt;\/title&gt;\r\n&lt;\/head&gt;\r\n&lt;body&gt;\r\n    &lt;div&gt;\r\n\r\n        &lt;h2&gt;Product Master&lt;\/h2&gt;\r\n\r\n        &lt;fieldset&gt;\r\n            &lt;legend&gt;Product&lt;\/legend&gt;\r\n\r\n            @using (Html.BeginForm())\r\n            {\r\n                &lt;div class=\"formRowContainer\"&gt;\r\n                    &lt;div class=\"labelContainer\"&gt;Name&lt;\/div&gt;\r\n                    &lt;div class=\"valueContainer\"&gt;\r\n                        @Html.TextBoxFor(model =&gt; model.Name)\r\n                        @Html.ValidationMessage(\"Name\")\r\n                    &lt;\/div&gt;\r\n                &lt;\/div&gt;\r\n                &lt;div class=\"clearStyle\"&gt;&lt;\/div&gt;\r\n                &lt;div class=\"formRowContainer\"&gt;\r\n                    &lt;div class=\"labelContainer\"&gt;Description&lt;\/div&gt;\r\n                    &lt;div class=\"valueContainer\"&gt;@Html.TextBoxFor(model =&gt; model.Description)&lt;\/div&gt;\r\n                &lt;\/div&gt;\r\n                &lt;div class=\"clearStyle\"&gt;&lt;\/div&gt;\r\n                &lt;div class=\"formRowContainer\"&gt;\r\n                    &lt;div class=\"labelContainer\"&gt;Manufacturer&lt;\/div&gt;\r\n                    &lt;div class=\"valueContainer\"&gt;@Html.TextBoxFor(model =&gt; model.Manufacturer)&lt;\/div&gt;\r\n                &lt;\/div&gt;\r\n                &lt;div class=\"clearStyle\"&gt;&lt;\/div&gt;\r\n                &lt;div class=\"formRowContainer\"&gt;\r\n                    &lt;div class=\"labelContainer\"&gt;Price&lt;\/div&gt;\r\n                    &lt;div class=\"valueContainer\"&gt;\r\n                        @Html.TextBoxFor(model =&gt; model.BasePrice)\r\n                        @Html.ValidationMessage(\"BasePrice\")\r\n                    &lt;\/div&gt;\r\n                &lt;\/div&gt;\r\n                &lt;div class=\"clearStyle\"&gt;&lt;\/div&gt;\r\n                &lt;div class=\"formRowContainer\"&gt;\r\n                    &lt;div class=\"labelContainer\"&gt;Category&lt;\/div&gt;\r\n                    &lt;div class=\"valueContainer\"&gt;\r\n                        @Html.DropDownListFor(model =&gt; model.CategoryId, Model.Category, \"--Select--\")\r\n                    &lt;\/div&gt;\r\n                &lt;\/div&gt;\r\n                &lt;div class=\"clearStyle\"&gt;&lt;\/div&gt;\r\n                &lt;div class=\"buttonContainer\"&gt;\r\n                    &lt;button&gt;Add Product&lt;\/button&gt;\r\n                &lt;\/div&gt;\r\n            }\r\n        &lt;\/fieldset&gt;\r\n\r\n    &lt;\/div&gt;\r\n&lt;\/body&gt;\r\n&lt;\/html&gt;<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-118\" src=\"https:\/\/mvc.auctionpro.co.kr\/wp-content\/uploads\/2021\/03\/ProductHtml02.jpg\" alt=\"\" width=\"277\" height=\"314\" srcset=\"https:\/\/mvc.auctionpro.co.kr\/wp-content\/uploads\/2021\/03\/ProductHtml02.jpg 277w, https:\/\/mvc.auctionpro.co.kr\/wp-content\/uploads\/2021\/03\/ProductHtml02-265x300.jpg 265w\" sizes=\"auto, (max-width: 277px) 100vw, 277px\" \/><\/p>\n<blockquote class=\"wp-embedded-content\" data-secret=\"Kcfuoc4qLI\"><p><a href=\"https:\/\/mvc.auctionpro.co.kr\/?page_id=122\">jQuery Unobtrusive AJAX For Partial Updates<\/a><\/p><\/blockquote>\n<p><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"&#8220;jQuery Unobtrusive AJAX For Partial Updates&#8221; &#8212; MVC\" src=\"https:\/\/mvc.auctionpro.co.kr\/?page_id=122&#038;embed=true#?secret=3wl1yGKKfp#?secret=Kcfuoc4qLI\" data-secret=\"Kcfuoc4qLI\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe><\/p>\n<h3>Working With Ajax.BeginForm()<\/h3>\n<pre class=\"lang:default decode:true \" title=\"HomeController.cs\">public ActionResult ProductAjax()\r\n        {\r\n            ProductModel model = new ProductModel();\r\n            return View(model);\r\n        }\r\n\r\n        [HttpPost]\r\n        public ActionResult ProductAjax(ProductModel model)\r\n        {\r\n            if (ModelState.IsValid)\r\n            {\r\n                System.Text.StringBuilder sb = new System.Text.StringBuilder();\r\n                sb.Append(\"Product Name :\" + model.Name + \"&lt;\/br\/&gt;\");\r\n                sb.Append(\"Description :\" + model.Description + \"&lt;\/br\/&gt;\");\r\n                sb.Append(\"Manufacturer :\" + model.Manufacturer + \"&lt;\/br\/&gt;\");\r\n                sb.Append(\"Price :\" + model.BasePrice + \"&lt;\/br\/&gt;\");\r\n                sb.Append(\"Category :\" + model.Category[model.CategoryId - 1].Text);\r\n                return Content(sb.ToString());\r\n            }\r\n            else\r\n            {\r\n                return View(model);\r\n            }\r\n        }<\/pre>\n<pre class=\"lang:default decode:true \" title=\"ProductAjax.cshtml\">@model razor_and_xslt.Models.ProductModel\r\n\r\n@{\r\n    ViewBag.Title = \"Product Master Ajax\";\r\n}\r\n\r\n&lt;h2&gt;Product Master&lt;\/h2&gt;\r\n&lt;!DOCTYPE html&gt;\r\n&lt;html&gt;\r\n&lt;head&gt;\r\n    &lt;meta name=\"viewport\" content=\"width=device-width\" \/&gt;\r\n    &lt;title&gt;Product&lt;\/title&gt;\r\n\r\n    &lt;script src=\"@Url.Content(\"~\/Scripts\/jquery-3.5.1.min.js\")\" type=\"text\/javascript\"&gt;&lt;\/script&gt;\r\n    &lt;script src=\"@Url.Content(\"~\/Scripts\/jquery.unobtrusive-ajax.min.js\")\" type=\"text\/javascript\"&gt;&lt;\/script&gt;\r\n\r\n&lt;\/head&gt;\r\n&lt;body&gt;\r\n    &lt;div&gt;\r\n\r\n        &lt;fieldset&gt;\r\n            &lt;legend&gt;Product&lt;\/legend&gt;\r\n            @using (Ajax.BeginForm(\"ProductAjax\", \"Home\", new AjaxOptions { UpdateTargetId = \"Productresult\" }))\r\n            {\r\n                &lt;div id=\"Productresult\"&gt;&lt;\/div&gt;\r\n                &lt;div class=\"formRowContainer\"&gt;\r\n                    &lt;div class=\"labelContainer\"&gt;Name&lt;\/div&gt;\r\n                    &lt;div class=\"valueContainer\"&gt;\r\n                        @Html.TextBoxFor(model =&gt; model.Name)\r\n                        @Html.ValidationMessage(\"Name\")\r\n                    &lt;\/div&gt;\r\n                &lt;\/div&gt;\r\n                &lt;div class=\"clearStyle\"&gt;&lt;\/div&gt;\r\n                &lt;div class=\"formRowContainer\"&gt;\r\n                    &lt;div class=\"labelContainer\"&gt;Description&lt;\/div&gt;\r\n                    &lt;div class=\"valueContainer\"&gt;@Html.TextBoxFor(model =&gt; model.Description)&lt;\/div&gt;\r\n                &lt;\/div&gt;\r\n                &lt;div class=\"clearStyle\"&gt;&lt;\/div&gt;\r\n                &lt;div class=\"formRowContainer\"&gt;\r\n                    &lt;div class=\"labelContainer\"&gt;Manufacturer&lt;\/div&gt;\r\n                    &lt;div class=\"valueContainer\"&gt;@Html.TextBoxFor(model =&gt; model.Manufacturer)&lt;\/div&gt;\r\n                &lt;\/div&gt;\r\n                &lt;div class=\"clearStyle\"&gt;&lt;\/div&gt;\r\n                &lt;div class=\"formRowContainer\"&gt;\r\n                    &lt;div class=\"labelContainer\"&gt;Price&lt;\/div&gt;\r\n                    &lt;div class=\"valueContainer\"&gt;\r\n                        @Html.TextBoxFor(model =&gt; model.BasePrice)\r\n                        @Html.ValidationMessage(\"BasePrice\")\r\n                    &lt;\/div&gt;\r\n                &lt;\/div&gt;\r\n                &lt;div class=\"clearStyle\"&gt;&lt;\/div&gt;\r\n                &lt;div class=\"formRowContainer\"&gt;\r\n                    &lt;div class=\"labelContainer\"&gt;Category&lt;\/div&gt;\r\n                    &lt;div class=\"valueContainer\"&gt;\r\n                        @Html.DropDownListFor(model =&gt; model.CategoryId, Model.Category, \"--Select--\")\r\n                    &lt;\/div&gt;\r\n                &lt;\/div&gt;\r\n                &lt;div class=\"clearStyle\"&gt;&lt;\/div&gt;\r\n                &lt;div class=\"buttonContainer\"&gt;\r\n                    &lt;button&gt;Add Product&lt;\/button&gt;\r\n                &lt;\/div&gt;\r\n            }\r\n        &lt;\/fieldset&gt;\r\n\r\n    &lt;\/div&gt;\r\n&lt;\/body&gt;\r\n&lt;\/html&gt;\r\n<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-129\" src=\"https:\/\/mvc.auctionpro.co.kr\/wp-content\/uploads\/2021\/03\/ProductAjax02.jpg\" alt=\"\" width=\"401\" height=\"421\" srcset=\"https:\/\/mvc.auctionpro.co.kr\/wp-content\/uploads\/2021\/03\/ProductAjax02.jpg 401w, https:\/\/mvc.auctionpro.co.kr\/wp-content\/uploads\/2021\/03\/ProductAjax02-286x300.jpg 286w\" sizes=\"auto, (max-width: 401px) 100vw, 401px\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Remark : Html.BeginForm() and Ajax.BeginForm() Html.BeginForm() using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; \/\/List&lt;SelectListItem&gt; using System.ComponentModel.DataAnnotations; \/\/RegularExpression namespace razor_and_xslt.Models { public class ProductModel { public ProductModel() { Category = new List&lt;SelectListItem&gt;(); Category.Add(new SelectListItem { Text = &#8220;Books&#8221;, Value = &#8220;1&#8221; }); Category.Add(new SelectListItem { Text = &#8220;Mobiles &amp; Tablets&#8221;, Value = &#8220;2&#8221;\u2026 <span class=\"read-more\"><a href=\"https:\/\/mvc.auctionpro.co.kr\/?page_id=114\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"class_list":["post-114","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/mvc.auctionpro.co.kr\/index.php?rest_route=\/wp\/v2\/pages\/114","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mvc.auctionpro.co.kr\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mvc.auctionpro.co.kr\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mvc.auctionpro.co.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mvc.auctionpro.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=114"}],"version-history":[{"count":6,"href":"https:\/\/mvc.auctionpro.co.kr\/index.php?rest_route=\/wp\/v2\/pages\/114\/revisions"}],"predecessor-version":[{"id":161,"href":"https:\/\/mvc.auctionpro.co.kr\/index.php?rest_route=\/wp\/v2\/pages\/114\/revisions\/161"}],"wp:attachment":[{"href":"https:\/\/mvc.auctionpro.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=114"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}