ASP.NET MVC+LINQ开发一个图书销售站点(7):图书分类管理

1、浏览分类
a. 修改Contoller的为如下
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using BookShop.Models; //import model
namespace BookShop.Controllers
{
public class CategoryController : Controller
{
BookShopDBDataContext db = new BookShopDBDataContext();
//  Category/List
public void List()
{
List<Category> categories = db.GetAllCategory();
RenderView("CategoryList", categories);
}
// Category/Edit/id
public void Edit(int id)
{
}
//Category/Delete/id
public void Delete(int id)
{
}
//Category/Add
public void Add()
{
}
}
}
b.在view文件下建立一个对应的Category的文件夹,在其下建立一个(MVC view content page) CategoryList.aspx c. 修改CategoryList.aspx.cs为如下代码: d. 修改Category.aspx的视图 e. 浏览(因为数据库里没有数据,所以看到如下图) 2、添加目录a. 现在我们来实现新建的功能,修改CategoryController的Add的行为,新建一个AddSaved的行为保存新建的目录,并导航到List视图//Category/Add
    public void Add()
    {
        RenderView(
"AddCategory");
    }

 
public void AddSaved()
      {
      Category newCategory
= new Category { CategoryName = Request.Form["CategoryName"] };
          db.AddCategory(newCategory);
        RedirectToAction(
new RouteValueDictionary(new { controller = "Category", action = "List" }));
      }

b. 我们需要在view\category\下建一个AddCategory.aspx(MVC view content page)来新建一个视图

c. 最终效果


3. 修改目录:
a. 添加下面两个方法到BookShopDBDataContext分
//Edit Category
    public void EditCategory(Category c)
    {
       
this.UpdateCategory(c);
       
this.SubmitChanges();
    }

   
public Category GetCategory(int id)
    {
       
return Categories.Single(c => c.CategoryId == id);
    }

b. 添加下面的方法到CategoryController
 
// Category/Edit/id
      public void Edit(int id)
      {

          RenderView(
"EditCategory", db.GetCategory(id));
      }
     
public void EditSaved(int id)
      {
          Category c
=db.GetCategory(id);
          c.CategoryName
=Request.Form["CategoryName"];
         
//BindingHelperExtensions.UpdateFrom(c, Request.Form);
          db.EditCategory(c);

            List
<Category> categories = db.GetAllCategory();
            RedirectToAction(
new RouteValueDictionary(new { controller = "Category", action = "List" }));
      }

c. 我们需要在view\category\下建一个EditCategory.aspx(MVC view content page)来新建一个视图
修改CategoryList.aspx

修改EditCategory.aspx.cs如下

修改EditCategory.aspx如下

d.效果:
  4. 删除目录a. 修改CategoryList.aspx b. 修改CategoryController,添加 c.效果

原文出处:http://www.cnblogs.com/cnblogsfans/