How to use MVC3 with AJAX
To enable AJAX calls add this line to Views/Shared/_Layout.cshtml
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>
Add new Products tab to menu in Views/Shared/_Layout.cshtml
<li>@Html.ActionLink("Product", "Index", "Product")</li>
Create new controller Controllers/ProductController.cs
DatabaseEntities is the Entity Framework 4 model with single table Product with 2 columns (Id uniqueidentity, Name nvarchar(100))
public class ProductController : Controller{DatabaseEntities entities = new DatabaseEntities();public ActionResult Index(){return View(entities.Products);}[HttpPost]public ActionResult AddProduct(string name){var product = new Product();product.Id = Guid.NewGuid();product.Name = name;entities.Products.AddObject(product);entities.SaveChanges();return PartialView("ProductList", entities.Products);}public ActionResult DeleteProduct(Guid id){entities.Products.DeleteObject(entities.Products.FirstOrDefault(x=>x.Id==id));entities.SaveChanges();return PartialView("ProductList", entities.Products);}}
Create 2 views /Views/Product/Index.cshtml
@using System.Data.Objects@using MyProject.Data@{ViewBag.Title = "Products";}@using (Ajax.BeginForm("AddProduct", "Product",new AjaxOptions(){UpdateTargetId = "ProductListDiv",HttpMethod = "POST"})){@Html.Label("Name: ") @Html.TextBox("name")<input type="submit" value="+" />}<div id="ProductListDiv">@Html.Partial("ProductList", (ObjectSet<Product>)Model)</div>
And /Views/Product/ProductList.cshtml
@using MyProject.Data<table>@{if (Model != null){foreach (var m in Model){<tr><td>@Ajax.ActionLink("Delete", "DeleteProduct", "Product", new { Id = m.Id }, new AjaxOptions(){UpdateTargetId = "ProductListDiv",HttpMethod = "POST"})</td><td>@m.Name</td></tr>}}}</table>
it should look more less like this
Great Article
ReplyDeleteFinal Year Projects for CSE in Dot Net
Final Year Project Centers in Chennai
JavaScript Training in Chennai
JavaScript Training in Chennai