一、什么是MVC?
1、了解
MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式:
       Model(模型)表示应用程序核心(比如数据库记录列表)。
       View(视图)显示数据(数据库记录)。
       Controller(控制器)处理输入(写入数据库记录)。
MVC 模式同时提供了对 HTML、CSS 和 JavaScript 的完全控制。

2、创建视图引擎:ASPX的MVC

文件--新建--项目--ASP.NET MVC 4 Web应用程序--命名--确定--选择模板:空--视图引擎:ASPX

3、MVC三层

(1)Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。
    通常模型对象负责在数据库中存取数据。
(2)View(视图)是应用程序中处理数据显示的部分。
    通常视图是依据模型数据创建的。
(3)Controller(控制器)是应用程序中处理用户交互的部分。
   通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
4、控制层

(1)添加控制器

找到Controllers文件夹右键添加控制器,命名:HomeController,不要少Controller

(2)动作Action

public string one() {
return "您好!!";
}

5、控制层与视图层

(1)控制层链接视图层

public ActionResult Index()
{
return View();
}

(2) 添加视图

在“return View();”上右键添加视图,选择ASPX,其余都不选
6、控制层与模型层

(1)在Models文件夹创建Linq,创建数据访问类

(2) 控制层联系模型层

 public string two()
{
string end = "";
List<Users> ulist = new UsersData().select();
foreach(Users u in ulist)
{
end += u.UserName;
end += "\t";
}
return end;
}

7、模型层与视图层

(1)视图层放C#代码

<% %>放C#代码

<%@ %>引用命名空间,声明语言

<%= %>输出一个变量或字段

(2)引用命名空间

<%@ Import Namespace="基础.Models" %>

展示数据

 <table id="tb" style="width:90%;background-color:navy;margin:auto;text-align:center;">
<tr style="color:white;">
<td>用户名</td>
<td>密码</td>
<td>昵称</td>
<td>性别</td>
<td>出生日期</td>
<td>电话</td>
<td>邮箱</td>
<td>民族</td>
<td>地区</td>
<td>操作</td>
</tr>
<%
List<Users> ulist = new UsersData().select();
foreach (Users u in ulist)
{
%>
<tr class="tr_item" style="background-color:white;<%=u.sexstr %>">
<td><%=u.UserName %></td>
<td><%=u.PassWord %></td>
<td><%=u.NickName %></td>
<td><%=u.Sex?"男":"女" %></td>
<td><%=u.Birthday.ToString("yyyy年MM月dd日") %></td>
<td><%=u.phone %></td>
<td><%=u.email %></td>
<td><%=u.Nation1.Nationname %></td>
<td><%=u.Areastr %></td>
<td>
<a href="delete?name=<%=u.UserName %>" class="delete">删除</a>
<a class="update" href="updateusers?name=<%=u.UserName %>">修改</a>
</td>
</tr>
<% } %> </table>

二、MVC增删改
1、添加

(1)视图层:

     <form name="form1" action="insert1" method="post">
<h2> 人员信息添加</h2>
用 户 名:<input id="Text1" name="usersname" type="text" />
<input id="Submit1" type="submit" value="添加" />
</form>

注意:(1)加上form表单 action="insert1"  method="post" 不可少

(2)标签加上name

(2)控制层:

        //添加
public ActionResult insert1(string usersname) //括号内放标签的name
{
Users u = new Users();
u.UserName = usersname;
new UsersData().insert(u);//调方法添加
return RedirectToAction("Index2");//跳转到主页
}

2、删除

(1)视图层:

 <a href="delete?name=<%=u.UserName %>" class="delete">删除</a>//可使用路由传值和问号传值

(2)控制层

        public ActionResult delete()
{
string s=Request["name"];//取出传过来的值
new UsersData().delete(s);
return RedirectToAction("Index2");
}

3、修改

(1)往视图层传值

      //跳转到修改页面
public ActionResult updateusers()
{
string s = Request["name"];
Users u = new UsersData().select(s);
ViewBag.ha = u;//传值
return View();
}

(2)视图层

<% Users u=ViewBag.ha as Users;%>//视图层接收值

<input id="Hidden1" type="hidden" name="usersname" value="<%=u.UserName %>" />

 用 户 名:<span style="color:black;font-size:19px;"><%=u.UserName %></span>

注意:用户名不可更改,标签不用text,使用隐藏域和span

4、路由传值和问号传值

(1)路由传值

控制器的名字必须是Home,用id接收

<a class="update" href="updateusers/<%=u.UserName %>">修改</a>

(2)问号传值,用string s = Request["name"];接收

<a class="update" href="updateusers?name=<%=u.UserName %>">修改</a>

三、登录

(1)状态保持

public ActionResult Login1(string usersname, string password)
{
Users u = new UsersData().select(usersname);
if (u != null)
{
if (u.PassWord == password)
{
//Cookies传值并保持状态
Response.Cookies["user"].Value = usersname;
Response.Cookies["user"].Expires = DateTime.Now.AddDays();
return RedirectToAction("Index", "Home");
}
else {
return RedirectToAction("Login0", "Login");
}
}
else
{
return RedirectToAction("Login0", "Login");
}
}
 public ActionResult Index()
{
if (Request.Cookies["user"] != null)
return View();
else
return RedirectToAction("Login0", "Login"); }
  //退出
public ActionResult Exit()
{
Response.Cookies["user"].Expires = DateTime.Now.AddDays(-);
return RedirectToAction("Login0","Login");
}

(2)提示错误

使用Session["insertusers"]视图层对其判断

            <%
if (Session["LoginOK"] == "")
{
%>
<span style="color:red;font-size:18px;margin-left:50px;">用户名不存在!</span><br />
<%
}
if (Session["LoginOK"] == "")
{%>
<span style="color: red;font-size:18px;margin-left:50px;">密码错误!</span><br />
<% }
Session["LoginOK"] = null;
}%>

MVC 基础和增删改、登录的更多相关文章

  1. MVC3+EF4.1学习系列(二)-------基础的增删改查和持久对象的生命周期变化

    上篇文章中 我们已经创建了EF4.1基于code first的例子  有了数据库 并初始化了一些数据  今天这里写基础的增删改查和持久对象的生命周期变化 学习下原文先把运行好的原图贴来上~~ 一.创建 ...

  2. EasyUI + Spring MVC + hibernate实现增删改查导入导出

    (这是一个故事--) 前言 作为一个JAVA开发工程师,我觉得最基本是需要懂前端.后台以及数据库. 练习的内容很基础,包括:基本增删改查.模糊查询.分页查询.树菜单.上传下载.tab页 主管发我一个已 ...

  3. 【ASP.NET MVC】jqGrid 增删改查详解

    1   概述 本篇文章主要是关于JqGrid的,主要功能包括使用JqGrid增删查改,导入导出,废话不多说,直接进入正题. 2   Demo相关 2.1   Demo展示 第一部分 第二部分 2.2 ...

  4. week_one-python基础 列表 增删改查

    # Author:larlly #列表增删改查#定义列表name = ["wo","ni","ta","wo"] #定义 ...

  5. mysql 的安装,密码及修改 ,权限,基础语句(增删改查)

    参考网址:https://www.cnblogs.com/majj/p/9160383.html    (安装等) https://www.cnblogs.com/majj/p/9160421.htm ...

  6. EasyUI +MVC +EF实现增删改查

    OA项目的框架已经搭建好了,接下来就是在这个框架下完成相应的业务的编码,接下来实现UserInfo页面的增删改查. 1.首先先谈一下遇到的一个框架上的问题:提示EF版本不一致之类的问题,主要是解决方案 ...

  7. 六:MVC数据建模(增删改查)

    今天我们来学习mvc增删改查等操作(试着结合前面学习的LINQ方法语法结合查询) 我创建了一个car的数据库,只有一个Cars表 表里面就几个字段 插入了一些数据 想要创建一个ADO.NET实体数据模 ...

  8. 使用jdbc实现简单的mvc模式的增删改查

    Mvc模式设计: 视图:添加界面(addUser.jsp),修改界面(updateUser.jsp),显示页面(allUser.jsp) 控制器:添加信息控制器(AddUserServlet),修改信 ...

  9. SSM-MyBatis-02:Mybatis最基础的增删改查(查全部和查单独一个)

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 继续上次的开始,这次记录的是增删改查,上次重复过的代码不做过多解释 首先先创建mysql的表和实体类Book ...

随机推荐

  1. 【javascript 进阶】异步调用

    前言 javascript的中的异步是很重要的概念,特别是ajax的提出,给整个web带来了很大的影响,今天就介绍下javascript的异步编程. 同步与异步 何为同步?何为异步呢? 同步:说白了就 ...

  2. CRM 启用或禁用自定义代码执行

    启用自定义代码执行 1.打开 Windows PowerShell 命令窗口. 2.添加 Microsoft Dynamics 365 PowerShell 管理单元: Add-PSSnapin Mi ...

  3. Activiti开启SQL Log

    log4j.logger.org.activiti.engine.impl.persistence.entity=trace

  4. OpenCV配置经历简述

    关于OpenCV的配置过程在这里做一简述和记录. 配置的是OpenCV2.2.0,环境为VS2010. 首先在OpenCV官网(http://opencv.org/downloads.html)下载了 ...

  5. PSP(11.2~11.9)

    5号 类别c 内容c 开始时间s 结束e 中断I 净时间T GUI 学习QT视频 9:00 10:10 0m 70m 复习 软件工程 10:10 11:10 10 50m 复习 软件工程 14:20 ...

  6. 【转】HTML5 jQuery图片上传前预览

    hTML5实现表单内的上传文件框,上传前预览图片,针刷新预览images,本例子主要是使用HTML5 的File API,建立一個可存取到该 file的url,一个空的img标签,ID为img0,把选 ...

  7. 一次Oracle 11g+FluentNHibernate AutoMapping组合尝试

    本文的上下文环境 操作系统:Win7 x64 Ultimate开发工具:Visual Studio 2013 一.前言 在以前开发的大多数场景下,使用的开发语言是C#,使用的数据库是Sql Serve ...

  8. java.lang.OutOfMemoryError: Java heap space解决办法

    进入到tomcat/bin目录下,编辑catalina.bat,在这个文件最前面加入一句:set JAVA_OPTS=-Xms384m -Xmx384m 保存退出,重启tomcat服务即可. 该异常应 ...

  9. 2016-11-10:win7下VMware虚拟机中CentOS6.5网络配置

    在win7环境下,使用桥接和NAT模式配置VMware虚拟机网络,实现宿主机与虚拟机以及虚拟机通过宿主机网卡访问互联网. 1 配置VMware虚拟网络编辑器 VMnet0 桥接模式 VMnet1仅主机 ...

  10. Monkey基础

    一.Monkey工具简介 Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件流(如按键输入.触摸屏输入.手势输入等),实现对正在开发的应用程序 ...