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(数据库设计) |
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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)
4.1.2 商品展示(/Views/Product/ShowProduct.aspx)
4.1.3 添加商品(/Views/Product/Update.aspx)
4.1.4 修改商品(/Views/Product/Update.aspx)
4.1.5 删除商品(/Views/Product/ShowProduct.aspx)
/Views/User/SignIn.aspx
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
<%@ 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
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
<%@ 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
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
<%@ 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
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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”
![]() |
作者:ylbtech 出处:http://ylbtech.cnblogs.com/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 |