MVC Demo 增删查改

原创 2012年03月21日 11:02:48

本实例使用Linq to sql.

DB所需要的表:1.Product,2.Category 如下图


1.先创建列表页面


先创建Index 的Control,在Control文件夹下创建ProductControl 文件(在这之前你要使用Linq to sql 创建TestDB文件与DB通信,我这里使用的数据库是Test,并将Product,category 添加到TestDB.dbml文件中)

    public class ProductController : Controller
    {
        //
        // GET: /Product/
        //TESTEntities dbConnect = new TESTEntities();
        TestDBDataContext context = new TestDBDataContext();
        ProductModelView productView = new ProductModelView();

        public ActionResult Index(string searchString)
        {
            var products = from product in context.Products
                           select product;
            if (!string.IsNullOrEmpty(searchString))
            {
                products = products.Where(p => p.ProductName == searchString);
            }
            return View(products.ToList());
        }
    }
在Model 文件夹中创建ProductModelView文件

    public class ProductModelView
    {
        public Product productList { get; set; }
    }
在View文件夹中创建Product文件夹,然后在创建Index.cshtml

@model List<MusicStore.Product>

@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>
@Html.ActionLink("New Create", "Create")

@using (Html.BeginForm("Index","Product","Index"))
{
    <p>ProductName:@Html.TextBox("searchString")
    <input type="submit" value ="search" />
    </p>
}

<table>
<tr>
<td>Id</td>
<td>ProductName</td>
<td>CreateTime</td>
<td>Price</td>
<td></td>
</tr>
@foreach (var item in Model)
{
    <tr>
    <td>@item.Id</td>
    <td>@item.ProductName</td>
    <td>@item.CreateTime</td>
    <td>@item.Price</td>
    <td>
    @Html.ActionLink("Edit", "Edit", new { id = item.Id })
    @Html.ActionLink("Delete", "Delete", new { id = item.Id})
    </td>
    </tr>
}
</table>
此时列表页面已经完成

2.创建添加页面


进入ProductControl文件,添加如下代码

        public ActionResult Create()
        {
            ViewBag.categoryList = GetCategoryitems();
            return View();
        }
        [HttpPost]
        public ActionResult AddProduct(Product product)
        {
            context.Products.InsertOnSubmit(product);
            context.SubmitChanges();
            return RedirectToAction("Index");
        }

        public List<SelectListItem> GetCategoryitems()
        {
            var categorys = from category in context.Categories.ToList()
                            select new SelectListItem()
                            {
                                Text = category.CategoryName,
                                Value = category.Id.ToString()
                            };
            List<SelectListItem> items = new List<SelectListItem>();
            items.Add(new SelectListItem() { Text = "Choose an option" });
            items.AddRange(categorys);
            return items;
        }
然后鼠标放在Create上面创建View

@model MusicStore.Product

@{
    ViewBag.Title = "Create";
}

<h2>Create</h2>


@using (Html.BeginForm("AddProduct","Product"))
{
    <fieldset>
    <div>
    @Html.Label("Product")
    </div>
    <div>
    @Html.EditorFor(p =>p.ProductName)
    </div>

    <div>
    @Html.Label("Price")
    </div>
    <div>
    @Html.EditorFor(p =>p.Price)
    </div>

    <div>
    @Html.Label("CreateTime")
    </div>
    <div>
    @Html.EditorFor(p =>p.CreateTime)
    </div>

    <div>
    @Html.Label("ProductCategory")
    </div>
    <div>
    @Html.DropDownListFor(m =>m.ParentId,ViewBag.categoryList as List<SelectListItem>)
    </div>
    <input type="submit" value="Save" />
    </fieldset>
}
3.创建编辑界面

进入ProductControl文件,添加如下代码

        public ActionResult Edit(int Id)
        {
            productView.productList = (from p in context.Products
                                       select p).First(c => c.Id == Id);
            ViewBag.categoryList = GetCategoryitems();
            return View(productView);
        }
        [HttpPost]
        public ActionResult Update(ProductModelView productModel)
        {
            Product product = context.Products.First(p => p.Id == productModel.productList.Id);
            product.ProductName = productModel.productList.ProductName;
            product.Price = productModel.productList.Price;
            product.CreateTime = productModel.productList.CreateTime;
            product.ParentId = productModel.productList.ParentId;
            context.SubmitChanges();

            return RedirectToAction("Index");
        }

然后添加Edit 的View

@model MusicStore.Models.ProductModelView

@{
    ViewBag.Title = "Edit";
}

<h2>Edit</h2>

@using (Html.BeginForm("Update", "Product"))
{
    <fieldset>
    <legend>Product</legend>
       @Html.HiddenFor(p =>p.productList.Id)
    <p>
        <div>
    @Html.LabelFor(p => p.productList.ProductName)
    </div>
    <div>
    @Html.EditorFor(p => p.productList.ProductName)
    </div>
    </p>

<p>
    <div>
    @Html.LabelFor(p => p.productList.Price)
    </div>
    <div>
    @Html.EditorFor(p => p.productList.Price)
    </div>
</p>

<p>
    <div>
    @Html.LabelFor(p => p.productList.CreateTime)
    </div>
    <div>
    @Html.EditorFor(p => p.productList.CreateTime)
    </div>

    <div>
    @Html.Label("ProductCategory")
    </div>
    <div>
    @Html.DropDownListFor(m => m.productList.ParentId, ViewBag.categoryList as List<SelectListItem>)
    </div>
</p>
    <input type="submit" value="submit" />
    </fieldset>
}
4.添加删除功能

进入ProductControl添加如下代码即可

        public ActionResult Delete(int id)
        {
            Product produt = context.Products.First(p => p.Id == id);
            context.Products.DeleteOnSubmit(produt);
            context.SubmitChanges();
            return RedirectToAction("Index");
        }

此 Demo下载地址请点击 here

HTML5+Bootstrap后台系统框架集(持续更新中……)

HTML5+Bootstrap后台系统框架集(持续更新中……)

从零开始搭建Bootstrap后台框架(开篇)

后台是一个不可缺少的工具,因为运营人员每天都必须花大量时间与之打交道。它在一定程度上影响着运营人员的工作效率。 Bootstrap是Twitter推出的一个用于前端开发的开源工具包,有着非常活跃的社...
  • suilz
  • suilz
  • 2016年06月09日 02:43
  • 13778

AspNet Mvc2增删查改

  • 2010年10月18日 00:11
  • 306KB
  • 下载

(原创)写篇手动编写的原生数据库的增删查改的demo

(原创)写篇手动编写的原生数据库的增删查改的demo
  • lnn368
  • lnn368
  • 2016年08月04日 22:24
  • 474

hbase 1.1.4增删查改demo

下面代码在hadoop 2.6.0 + hbase 1.1.4 + centos 7 + jdk 1.7上运行通过。 package cn.abc.hbase; import java.i...

在MVC2实现增删查改功能

  • 2011年06月18日 00:55
  • 778KB
  • 下载

Struts2+MySQL+c3p0+MVC_增删查改+分页

  • 2017年06月09日 11:35
  • 5.74MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MVC Demo 增删查改
举报原因:
原因补充:

(最多只允许输入30个字)