Ajax Beginformを削除し、通常のフォームを使用します
@using(Html.Beginform("Create_Product","Admin"))
{
<input type="text" name="productName" />
<input type="submit" id="saveNewProduct" />
}
そして今、私たちのAjaxセービングを処理するためのいくつかのJavaScript
<script type="text/javascript">
$(function(){
$("#saveNewProduct").click(function(e){
var item=$(this);
e.preventDefault();
$.post("@url.Action("Create_Product","Admin")",
item.closest("form").serialize(),function(data){
if(data.Status=="Exist")
{
alert("The Product already exist");
}
else if(data.Status=="Success")
{
alert("Saved Successfully");
}
});
});
});
</script>
ActionメソッドJSON
が正常に挿入された場合、以下の形式でバックを返します。
{ "Status": "Success" }
製品がすでに存在する場合、これを返します
{ "Status": "Exist" }
したがって、Actionメソッドは次のようになります。
[HttpPost]
public ActionResult Create_Product(YourViewModel model)
{
try
{
//check product exist, if yes return the below commented JSON
// return Json(new { Status="Exist" });
//else , Insert the data and Return Succes in JSON
// return Json(new { Status="Success" });
}
catch(Exception ex)
{
// log error
return Json(new { Status="Error" });
}
}