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
image image 
c. 修改CategoryList.aspx.cs为如下代码:
image 
d. 修改Category.aspx的视图
image 
e. 浏览(因为数据库里没有数据,所以看到如下图)
image 
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)来新建一个视图

image

c. 最终效果

image

image

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

image image

修改EditCategory.aspx.cs如下

image

修改EditCategory.aspx如下

image

d.效果:

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

未完待续。。。

本文转自敏捷的水博客园博客,原文链接http://www.cnblogs.com/cnblogsfans/archive/2008/03/26/1123037.html如需转载请自行联系原作者


王德水

相关文章
|
3月前
|
开发框架 JavaScript 前端开发
震撼!破解 ASP.NET 服务器控件 Button 执行顺序之谜,颠覆你的开发认知!
【8月更文挑战第16天】在ASP.NET开发中,通过Button控件实现先执行JavaScript再触后台处理的需求十分常见。例如,在用户点击按钮前需前端验证或提示,确保操作无误后再传递数据至后台深度处理。此过程可通过设置Button的`OnClientClick`属性调用自定义JavaScript函数完成验证;若验证通过,则继续触发后台事件。此外,结合jQuery也能达到相同效果,利用`__doPostBack`手动触发服务器端事件。这种方式增强了应用的交互性和用户体验。
44 8
|
2月前
|
开发框架 前端开发 JavaScript
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
35 7
|
2月前
|
开发框架 JavaScript 前端开发
|
2月前
|
存储 开发框架 前端开发
ASP.NET MVC 迅速集成 SignalR
ASP.NET MVC 迅速集成 SignalR
48 0
|
3月前
|
开发框架 前端开发 .NET
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
42 0
|
3月前
|
开发框架 前端开发 安全
ASP.NET MVC 如何使用 Form Authentication?
ASP.NET MVC 如何使用 Form Authentication?
|
3月前
|
开发框架 .NET
Asp.Net Core 使用X.PagedList.Mvc.Core分页 & 搜索
Asp.Net Core 使用X.PagedList.Mvc.Core分页 & 搜索
113 0
|
6月前
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
178 0
|
6月前
|
开发框架 前端开发 JavaScript
JavaScript云LIS系统源码ASP.NET CORE 3.1 MVC + SQLserver + Redis医院实验室信息系统源码 医院云LIS系统源码
实验室信息系统(Laboratory Information System,缩写LIS)是一类用来处理实验室过程信息的软件,云LIS系统围绕临床,云LIS系统将与云HIS系统建立起高度的业务整合,以体现“以病人为中心”的设计理念,优化就诊流程,方便患者就医。
75 0
|
6月前
|
开发框架 前端开发 .NET
C# .NET面试系列六:ASP.NET MVC
<h2>ASP.NET MVC #### 1. MVC 中的 TempData\ViewBag\ViewData 区别? 在ASP.NET MVC中,TempData、ViewBag 和 ViewData 都是用于在控制器和视图之间传递数据的机制,但它们有一些区别。 <b>TempData:</b> 1、生命周期 ```c# TempData 的生命周期是短暂的,数据只在当前请求和下一次请求之间有效。一旦数据被读取,它就会被标记为已读,下一次请求时就会被清除。 ``` 2、用途 ```c# 主要用于在两个动作之间传递数据,例如在一个动作中设置 TempData,然后在重定向到另
314 5