zoukankan      html  css  js  c++  java
  • 一个基于标准的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(示例|讲解案例下载)

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

    百度网盘  http://pan.baidu.com/s/1i49zn73

    请点击“MVC+LINQ”

    warn 作者:ylbtech
    出处:http://ylbtech.cnblogs.com/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    Git工作中用法(Gitlab)
    面试记录,不定时更新中。。。
    webservice 技术改进
    HTTP详解
    Git学习05 --分支管理02
    Git学习04 --分支管理
    链表判环问题
    k-选取问题
    图片与字符串(base64编码)的转化
    二叉堆与堆排序的简单实现
  • 原文地址:https://www.cnblogs.com/ylbtech/p/3029656.html
Copyright © 2011-2022 走看看