一个基于标准的ASP.NET MVC2.0 + LINQ 的一个项目案例

ylbtech- ASP.NET MVC:一个基于标准的ASP.NET MVC2.0 + LINQ 的一个项目案例

   功能描述:一个基于标准的ASP.NET MVC2.0 + LINQ 的一个项目.主要功能有:用户登录,产品的操作,商品展示,添加产品,修改商品,删除商品. 

2,TechnologyAndTheEnvironment(技术与环境)

操作系统:

windows

开发语言:

C#

开发框架:

ASP.NET MVC 2.0

数据库:

SQL Server

开发软件:

Microsoft Visual Studio 2010

 开发技术

 ASP.NET MVC +LINQ

3,DatabaseDesign(数据库设计)
View Code
use master

go

if exists(select * from sysdatabases where name='db1')

begin

    drop database db1

end

go

create database DB1

go

use DB1

go

create table [User]

(

    Username varchar(20) primary key,

    Userpass varchar(20)

)



create table [Product]

(

    ProductID int identity primary key,

    ProductName varchar(20),

    UnitPrice numeric(7,2),

    Type varchar(10) check(type in('电器','饮料'))

)



insert into [user](username,userpass) values('admin','123')

insert into product(productname,unitprice,type) values('可乐',1.7,'饮料')

insert into product(productname,unitprice,type) values('ipod',6000,'电器')

insert into product(productname,unitprice,type) values('MAC',8000,'电器')

insert into product(productname,unitprice,type) values('雪碧',2.1,'饮料')





select * from [user]

select * from product







--select count(*) from  [user]  where username=@username and userpass=@userpass
4,FeatureScreenshots(功能截图)

 4.1,前台

4.1.1 用户登录(/Views/Account/SignIn.aspx)

login
4.1.2 商品展示(/Views/Product/ShowProduct.aspx)

Show Products
4.1.3 添加商品(/Views/Product/Update.aspx)

Add Product
4.1.4 修改商品(/Views/Product/Update.aspx)

Update Product
4.1.5 删除商品(/Views/Product/ShowProduct.aspx)     

Delete Product    

/Views/User/SignIn.aspx

View Code
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %>



<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">

    SignIn

</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">

    <h2>

        SignIn</h2>

    <div>

        <%Html.BeginForm("Check", "User", FormMethod.Post); %>

        用户名:<%=Html.TextBox("txtUsername") %><br />

        密 码:<%=Html.Password("txtUserpass") %><br />

        <input type="submit" value="登录" />

        <%Html.EndForm(); %>

    </div>

</asp:Content>

/Views/Product/ShowProduct.aspx

View Code
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %>

<%@ Import Namespace="MvcApplication4.Models" %>

<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">

    ShowProduct

</asp:Content>



<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">



    <h2>ShowProduct</h2>

    

   <table border="1" width="80%">

    <tr>

        <td>编号</td>

        <td>名称</td>

        <td>单价</td>

        <td>修改</td>

        <td>删除</td>

    </tr>

    <%

        IQueryable<Product> products = (IQueryable<Product>)ViewData["products"];



        foreach (Product prod in products)

        {

         %>

    <tr>

        <td><%=prod.ProductID %></td>

        <td><%=prod.ProductName %></td>

        <td><%=prod.UnitPrice %></td>

        <td><%=Html.ActionLink("修改", "PreUpdate", new Product{  ProductID=prod.ProductID, ProductName=prod.ProductName,  UnitPrice=prod.UnitPrice, Type=prod.Type})%></td>

        <td><%=Html.ActionLink("删除","Delete",new{prodID=prod.ProductID}) %></td>

    </tr>

    <%

        }

             %>

   </table>

   <div>

        <a href="/Product/Add">增加一条数据</a>

   </div>

</asp:Content>

/Views/Product/Update.aspx

View Code
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %>

<%@ Import Namespace="MvcApplication4.Models" %>

<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">

    Update

</asp:Content>



<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">



    <h2>Update/Insert</h2>

<div>



<%Html.BeginForm("Save", "Product", FormMethod.Post); %>

    <%

        

        SelectList slType = (SelectList)ViewData["slType"];

        

        if (ViewData["product"] != null)

        {

            Product prod = (Product)ViewData["product"];

    %>

    编号:默认<%=Html.Hidden("hdProductID", prod.ProductID)%><br />

    名称:<%=Html.TextBox("txtProductName", prod.ProductName)%><br />

    单价:<%=Html.TextBox("txtUnitPrice", prod.UnitPrice)%><br />

    类别:<%=Html.DropDownList("ddlType",slType) %><br />

    <input type="submit" value="提交" />

    <%

        }

    else

    {

    %>

    编号:默认<br />

    名称:<%=Html.TextBox("txtProductName")%><br />

    单价:<%=Html.TextBox("txtUnitPrice")%><br />

    类别:<%=Html.DropDownList("ddlType",slType) %><br />

    <input type="submit" value="提交" />

    <%

        }

    %>

    <%Html.EndForm(); %>

</div>

</asp:Content>

/Controllers/UserController.cs

View Code
using System.Linq;

using System.Web.Mvc;



using MvcApplication4.Models;

namespace MvcApplication4.Controllers

{

    public class UserController : Controller

    {

        //

        // GET: /User/

        DB1DataContext db1 = new DB1DataContext();



       // IUser dal = DataAccess.CreateUser();

        public ActionResult Index()

        {

            return View("SignIn");

        }





        //登录验证

        public ActionResult Check()

        {



            string name = Request.Form["txtUsername"];

            string pass = Request.Form["txtUserpass"];



            var query = (from u in db1.User where u.Username == name where u.Userpass == pass select u).Count();



            if (query>0)

            {



                //登陆成功

                return RedirectToAction("Index", "Product");

            }

            else

            {



                //登录失败

                return RedirectToAction("Fail");

            }

            

        }



        //登录失败页面

        public ActionResult Fail()

        {



            return View("Fail");

        }



    }

}

/Controllers/ProductController.cs

View Code
using System;

using System.Collections.Generic;

using System.Linq;

using System.Web.Mvc;





using MvcApplication4.Models;

namespace MvcApplication4.Controllers

{

    public class ProductController : Controller

    {

        //

        // GET: /Product/



        DB1DataContext db1 = new DB1DataContext();



        public ActionResult Index()

        {



            System.Linq.IQueryable<Product> products = db1.Product;

            ViewData["products"] = products;



            return View("ShowProduct");

        }





        public ActionResult Delete(int prodID)

        {



            var products = from p in db1.Product 

                           where p.ProductID == prodID 

                           select p;

            db1.Product.DeleteAllOnSubmit(products);



            return Index();

        }



        public ActionResult PreUpdate(Product prod)

        {



            ViewData["product"] = prod;



            IList<SelectListItem> sliType = new List<SelectListItem>() { 

                 new SelectListItem{ Text="电器", Value="电器"},

                new SelectListItem{ Text="饮料", Value="饮料"}

            };

            SelectList slType = new SelectList(sliType, "Value", "Text", prod.Type);

            ViewData["slType"] = slType;



            return View("Update");

        }



        public ActionResult Add()

        {



            IList<SelectListItem> sliType = new List<SelectListItem>() { 

                 new SelectListItem{ Text="电器", Value="电器"},

                new SelectListItem{ Text="饮料", Value="饮料"}

            };

            SelectList slType = new SelectList(sliType, "Value", "Text","电器");

            ViewData["slType"] = slType;

            return View("Update");

        }



        public ActionResult Save()

        {



            if(!string.IsNullOrEmpty(Request.Form["hdProductID"]))

            {

                //更新一条数据

                int productID=Convert.ToInt32(Request.Form["hdProductID"]);

                Product product=db1.Product.Single(p=>p.ProductID==productID);

                product.ProductName = Request.Form["txtProductName"];

                product.UnitPrice = Convert.ToDecimal(Request.Form["txtUnitPrice"]);

                product.Type = Request.Form["ddlType"];

                db1.SubmitChanges();

            }

            else

            {

                //曾加一条数据

                Product product = new Product();

                product.ProductName = Request.Form["txtProductName"];

                product.UnitPrice = Convert.ToDecimal(Request.Form["txtUnitPrice"]);

                product.Type = Request.Form["ddlType"];

                db1.Product.InsertOnSubmit(product);

                db1.SubmitChanges();

            }



            return Index();

        }

    }

}
6,Sample|Explain FreeDownload(示例|讲解案例下载)

http://files.cnblogs.com/ylbtech/WebForm-ASP.NET-MVC_LINQ.rar

warn 作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

你可能感兴趣的:(asp.net)