zoukankan      html  css  js  c++  java
  • MVC

     MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式:
    • Model(模型)表示应用程序核心(比如数据库记录列表)。
    • View(视图)显示数据(数据库记录)。
    • Controller(控制器)处理输入(写入数据库记录)。
    MVC 模式同时提供了对 HTML、CSS 和 JavaScript 的完全控制。
    Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。
      通常模型对象负责在数据库中存取数据。
    View(视图)是应用程序中处理数据显示的部分。
      通常视图是依据模型数据创建的。
    Controller(控制器)是应用程序中处理用户交互的部分。
      通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
    MVC 分层有助于管理复杂的应用程序,因为您可以在一个时间内专门关注一个方面。例如,您可以在不依赖业务逻辑的情况下专注于视图设计。同时也让应用程序的测试更加容易。
    MVC 分层同时也简化了分组开发。不同的开发人员可同时开发视图、控制器逻辑和业务逻辑。
    框架模式可以用下图表示:
     
    下面一段代码用MVC简单写的数据库的增删改查(aspx):
     
    Controllers
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Mvc;
    using DATAModels;
    
    namespace MvcApplication1.Controllers
    {
        public class HomeController : Controller
        {
            //
            // GET: /Home/
    
            public ActionResult Index()
            {
                ViewBag.data = new DATA().select();
                return View();
            }
    
            public ActionResult xiugai(string id)//这里的id对应路由中的id不能乱改
            {
                
                student s = new DATA().select(id);
                ViewBag.data = s;//携带数据显示到视图中
                return View();
            }
    
            public ActionResult Update(string sno, string sname,string ssex,DateTime sbirthday, string class1)
            {
                new DATA().Update(sno,sname,ssex,sbirthday,class1);
    
                return RedirectToAction("Index");//跳转到Index视图
            }
    
            public ActionResult zengjia()
            {
                return View();//增加视图
            }
    
            public ActionResult ADD(string sno, string sname, string ssex, DateTime sbirthday, string class1)
            {
                try
                {
                    new DATA().Insert(sno, sname, ssex, sbirthday, class1);
                    return RedirectToAction("Index");
                }
                catch (Exception)
                {
    
                    return RedirectToAction("chucuo", "Home");//跳转到Home控制器下的chucuo动作
                }
            }
    
            public ActionResult shanchu(string id)
            {
                try
                {
                    new DATA().delete(id);
                    return RedirectToAction("Index");
                }
                catch (Exception)
                {
    
                    return RedirectToAction("chucuo","Home");
                }
    
            }
            public ActionResult chucuo()
            {
                return View();
            }
    
            public ActionResult tiaozhuan()
            {
                return RedirectToAction("Index");
            }
    
            public ActionResult jingzhunchaxun(string id)
            {
                
                ViewBag.data=new DATA().lianjie(id);
                ViewBag.datac = new DATA().jingzhuncha(id);
                return View();
            }
        }
    }

    Models

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    
    namespace DATAModels
    {
        public class DATA
        {
            private DataLianXiSQLDataContext Context = new DataLianXiSQLDataContext();
    
            public List<student> select()//查询学生信息
            {
                List<student> list = Context.student.ToList();
    
                return list;
            }
    
            public student select(string sno)
            {
                int sn=int.Parse(sno);
                var s = Context.student.Where(a=>a.Sno==sn);//按Sno查询学生信息
                if (s.Count()>0)
                {
                    return s.First();//返回序列中的第一个元素
                }
                return null;
            }
    
            public void Update(string sno, string sname, string ssex,DateTime sbirthday,string class1)
            {
                var query = Context.student.Where(p => p.Sno == int.Parse(sno));
                if (query.Count() > 0)
                {
                    student data = query.First();
                    data.Sname = sname;
                    data.Ssex = ssex;
                    data.Sbirthday = sbirthday;
                    data.Class = class1;
                }
                Context.SubmitChanges();//修改
            }
    
            public void Insert(string sno, string sname, string ssex, DateTime sbirthday, string class1)
            {
                int sn = int.Parse(sno);
                student s = new student();
                s.Sno = sn;
                s.Sname = sname;
                s.Ssex = ssex;
                s.Sbirthday = sbirthday;
                s.Class = class1;
    
                Context.student.InsertOnSubmit(s);//插入
                
                Context.SubmitChanges();
            }
    
            public void delete(string sno)
            {
                var s = Context.student.Where(p=>p.Sno==int.Parse(sno));
                if (s!=null)
                {
                    student stu = s.First();
                    Context.student.DeleteOnSubmit(stu);//删除
                    Context.SubmitChanges();
                }
            }
    
            public List<score> lianjie(string sno)
            {
                List<score> list=new List<score>();
                var query = Context.score.Where(p=>p.Sno==int.Parse(sno));
                if (query!=null)
                {
                    foreach (var item in query)
                    {
                        list.Add(item);
                    }
                }
    
                return list;
            }
            public List<course> jingzhuncha(string sno)
            {
                List<score> list = new List<score>();
                var query = Context.score.Where(p => p.Sno == int.Parse(sno));
                if (query != null)
                {
                    foreach (var item in query)
                    {
                        list.Add(item);
                    }
                }
                List<course> lico = new List<course>();
                for (int i = 0; i < list.Count; i++)
                {
                    var cn = Context.course.Where(c=>c.Cno==list[i].Cno);
                    if (cn!=null)
                    {
                        lico.Add(cn.First()); 
                    }                
                }
    
                return lico;
            }
    
        }
    }

    Views:

        Index

    <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
    <%@ Import Namespace="DATAModels" %>
    <!DOCTYPE html>
    
    <html>
    <head runat="server">
        <meta name="viewport" content="width=device-width" />
        <title>Index</title>
        <style>
            .tab {
            width:100%;
            
            column-rule-color:#141313;
            column-rule-style:solid;
            text-align:center;
            }
            .tr1 {
            background-color:#fff;
            
            }
             .tr2 {
            background-color:#c3b7b7;
            
            }
             .tr {
            background-color:#ffffcc;
            
            }
        </style>
    </head>
    <body>
        <div>
            <table class="tab" border="1">
                <tr class="tr">
                    <td>学号</td>
                    <td>姓名</td>
                    <td>性别</td>
                    <td>生日</td>
                    <td>班级</td>
                    <td></td>
                    <td></td>                
                </tr>
                <% 
                    List<student> list = ViewBag.data as List<student>;
                    int i = 0;
                    foreach (student s in list)                  
                    {
                        if(i%2==0)
                        {
                        %>
                 <tr class="tr1">
                    <td><%=s.Sno %></td>
                    <td><a href="Home/jingzhunchaxun/<%=s.Sno %>"><%=s.Sname %></a></td>
                    <td><%=s.Ssex %></td>
                    <td><%=s.Sbirthday.Value.ToLongDateString().ToString() %></td>
                    <td><%=s.Class %></td>
                    <td>
                        <a href="/Home/xiugai/<%=s.Sno %>">修改</a>
                    </td>
                    <td>
                        <a onclick="return confirm('确认要删除<%=s.Sname.ToString() %>吗?')" href="Home/shanchu/<%=s.Sno %>">删除</a>
                    </td>
                </tr>
                       <%}else { %>
                <tr class="tr2">
                    <td><%=s.Sno %></td>
                    <td><a href="Home/jingzhunchaxun/<%=s.Sno %>"><%=s.Sname %></a></td>
                    <td><%=s.Ssex %></td>
                    <td><%=s.Sbirthday.Value.ToLongDateString().ToString() %></td>
                    <td><%=s.Class %></td>
                    <td>
                        <a href="/Home/xiugai/<%=s.Sno %>">修改</a>
                    </td>
                    <td>
                        <a onclick="return confirm('确认要删除<%=s.Sname.ToString() %>吗?')" href="Home/shanchu/<%=s.Sno %>">删除</a>
                    </td>
                </tr>
                
                <%} %> 
                        
                        <%
                        i++;
                    }    
                %>
    
            </table>
            <div>
                <form id="f2" name="f2" action="Home/zengjia" method="post">
                    <input type="submit" value="增加" />
                </form>
            </div>
        </div>
    </body>
    </html>

    zengjia

    <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
    <%@ Import Namespace="DATAModels" %>
    <!DOCTYPE html>
    
    <html>
    <head runat="server">
        <meta name="viewport" content="width=device-width" />
        <title>zengjia</title>
    </head>
    <body>
        <div>
            <form id="f1" name="f1" method="post" action="/Home/ADD">
            <ul>      
                   
                <li><input type="text" name="sno" /></li>
                <li><input type="text" name="sname" /></li>
                <li><input type="text" name="ssex"  /></li>
                <li><input type="text" name="sbirthday" /></li>
                <li><input type="text" name="class1"  /></li>
                <li><input type="submit" value="更新" /></li>
                
            </ul>
            </form>
            <form id="f2" name="f2" action="/Home/tiaozhuan" method="post">
                <input type="submit" value="回到主页" />
            </form>
        </div>
    </body>
    </html>

    xiugai

    <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
    <%@ Import Namespace="DATAModels" %>
    <!DOCTYPE html>
    
    <html>
    <head runat="server">
        <meta name="viewport" content="width=device-width" />
        <title>xiugai</title>
    </head>
    <body>
        <div>
            <form id="f1" name="f1" method="post" action="/Home/Update">
            <ul>      
                <%student s=ViewBag.data as student;
                  if(s!=null)
                  {
                       %>      
                <li><input readonly="readonly" type="text" name="sno" value="<%=s.Sno %>"/></li>
                <li><input type="text" name="sname" value="<%=s.Sname %>" /></li>
                <li><input type="text" name="ssex" value="<%=s.Ssex %>" /></li>
                <li><input type="text" name="sbirthday" value="<%=s.Sbirthday %>" /></li>
                <li><input type="text" name="class1" value="<%=s.Class %>" /></li>
                <li><input type="submit" value="更新" /></li>
                <%} %>
            </ul>
            </form>
            <form id="f2" name="f2" action="/Home/tiaozhuan" method="post">
                <input type="submit" value="回到主页" />
            </form>
        </div>
    </body>
    </html>

    chucuo

    <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
    
    <!DOCTYPE html>
    
    <html>
    <head runat="server">
        <meta name="viewport" content="width=device-width" />
        <title>chucuo</title>
    </head>
    <body>
        <div>
            <h1>出错了!</h1>
            <form action="Home/tiaozhuan" method="post">
                <input type="submit" value="回到主页" />
            </form>
        </div>
    </body>
    </html>
     
  • 相关阅读:
    使用WPF Tree Visualizer 查看popup的Dialog
    用代码控制build,相关资料搜集
    AreComObjectsAvailableForCleanup and CleanupUnusedObjectsInCurrentContext
    window size in Windows User Experience Interaction Guidelines
    有关PFIF
    应用程序挂起的秘密
    How do I determine if a WPF window is modal?
    Associate extension with c# exe
    提升WPF的启动速度
    Marshal.ReleaseComObject
  • 原文地址:https://www.cnblogs.com/happinesshappy/p/4625424.html
Copyright © 2011-2022 走看看