新建--项目--ASP.NET MVC 4 WEB 应用程序

MVC:

M--Model  模型层     放置数据访问类,linq

V--View  视图层       界面层   aspx文件。只有一个页面文件,没有C#代码文件  ,那怎么执行?

<%@ %>引用命名空间

<% %>在此区域里嵌所有C#代码

<%@ %>输出一个变量的值

C--Control  控制层   添加-控制器--

C层:由控制器及控制器中的动作所组成,MVC请求不是直接对页面,而是对控制器中的某个动作发送请求

默认返回  Home控制器下的Index动作

如果有请求的控制器,没有请求动作。那么会默认返回

数据展示:

namespace mvc1.Controllers
{
public class HomeController : Controller
{ //动作
public string Index()
{
return "hole word";
}
public string Other1()
{
return "<html><head></head><body><h1>"+DateTime.Now+"<h1></body></html>";
}
}
}

qidian1Controller.cs:

namespace mvc1.Controllers
{
public class qidianController : Controller
{ public string Index()
{
StringBuilder ss = new StringBuilder();
using (DataClasses1DataContext con = new DataClasses1DataContext())
{
List<Users> ulist = con.Users.ToList();
foreach(Users u in ulist)
{
ss.Append(u.NickName+"|");//追加
}
}
return ss.ToString();
}
public ActionResult other1()//添加视图--右键第一个(会出现一个html:other1.aspx)
{
return View();
}

other1.aspx:

<%@ Import Namespace="mvc1.Models" %>    <%--引用命名空间--%>

<!DOCTYPE html>

<html>
<head runat="server">
<meta name="viewport" content="width=device-width" />
<title>other1</title>
</head>
<body>
<div>
<h1>这是视图产生出的页面</h1>
<table>
<tr>
<td>用户名</td>
<td>密码</td>
<td>昵称</td>
<td>性别</td>
<td>生日</td>
<td>民族</td>
</tr>
<% List<Users> ulist = new UsersData().Select();//在model里添加一个类,来这调用
foreach(Users u in ulist)
{
%> <tr>
<td><%=u.UserName %></td>
<td><%=u.Password %></td>
<td><%=u.NickName %></td>
<td><%=Convert.ToBoolean(u.Sex)?"男":"女" %></td>
<td><%=u.Birthday.Value.ToString("yyyy年MM月dd日") %></td>
<td><%=u.Nation1.NationName %></td>
</tr>
<% } %>
</table>
</div>
UsersData类:

namespace mvc1.Models
{
public class UsersData
{ DataClasses1DataContext con = null;
public UsersData()
{
con = new DataClasses1DataContext();
}
public List<Users> Select()
{
return con.Users.ToList();
}
}

添加:

添加控制器,添加一个动作(视图Insert()),--添加视图(写添加界面)--保存按钮:加一个动作Insert1(),接收内容:1、组对象2、往数据库添加数据3、返回展示页面 RedirectToAction()

<body>
<form action="insert1" method="post">
<h1>添加页面</h1><%--name--%>
用户名:<input type="text" name="username"/><br /><br /> 密码:<input type="text"/ name="password"><br /><br />
昵称:<input type="text" name="nickname" /><br /><br />
性别:<input type="text" name="sex"/><br /><br />
生日:<input type="text" name="birthday"/><br /><br />
民族:<input type="text" name="nationcode"/><br /><br />
<input type="submit" value="保存"/>
</form>
</body>
        public ActionResult Insert()//添加页面
{
return View();
} public ActionResult insert1(string username,string password,string nickname,bool sex,DateTime birthday,string nationcode)//添加保存按钮,传值
{
Users u = new Users();
u.UserName = username;
u.Password = password;
u.NickName = nickname;
u.Sex = sex;
u.Birthday = birthday;
u.NationCode = nationcode;
new UsersData().Insert(u);//models里写方法直接来调用
return RedirectToAction("Index","Home");//添加完了,再跳回显示页面
}

删除:

 <td>
<a href="Home/Update/<%=u.UserName %>">修改</a>
<a href="Home/Delete/<%=u.UserName %>">删除</a><%--用这个方式传值--%>
</td>
    public ActionResult Delete(string id)//获取值
{
new UsersData().Delete(id);//uname是靠id这个路由传过来的
return RedirectToAction("Index");
}

修改:

 <form action="/Home/Update1" method="post">

        <%
Users u = ViewBag.hehe as Users; if (u != null)
{
%> <h1>修改页面</h1>
用户名:<input type="text" name="username" value="<%=u.UserName %>" /><br />
<br />
密码:<input type="text" name="password" value="<%=u.Password %>" /><br />
<br />
昵称:<input type="text" name="nickname" value="<%=u.NickName %>" /><br />
<br />
性别:<input type="text" name="sex" value="<%=u.Sex %>" /><br />
<br />
生日:<input type="text" name="birthday" value="<%=u.Birthday %>" /><br />
<br />
民族:<input type="text" name="nationcode" value="<%=u.NationCode %>" /><br />
<br />
<input type="submit" value="保存" />
<%
}
else
{
%>
<h1>未查到学生信息!</h1>
<%
}
%>
</form>
  public ActionResult Update(string aa)
{
Users uu = new UsersData().Select(aa);
ViewBag.hehe = uu;//获取数据传递。数据包
return View();
}
public ActionResult Update1(Users u)//返回一个对象
{
new UsersData().Update(u);
return RedirectToAction("Index");//跳回主页面
}

MVC开发基础的更多相关文章

  1. 自学MVC开发基础

    由于现在面试需求,我必须有点了解MVC开发基础,MVC是一个开发框架或者是一个开发模式,MVC让软件开发的过程大致切割成三个单元,分别是:Model(模型).View(试图).Controller(控 ...

  2. ASP.Net MVC开发基础学习笔记:四、校验、AJAX与过滤器

    一.校验 — 表单不是你想提想提就能提 1.1 DataAnnotations(数据注解) 位于 System.ComponentModel.DataAnnotations 命名空间中的特性指定对数据 ...

  3. ASP.Net MVC开发基础学习笔记(4):校验、AJAX与过滤器

    一.校验 — 表单不是你想提想提就能提 1.1 DataAnnotations(数据注解) 位于 System.ComponentModel.DataAnnotations 命名空间中的特性指定对数据 ...

  4. ASP.Net MVC开发基础学习笔记:一、走向MVC模式

    一.ASP.Net的两种开发模式 1.1 ASP.Net WebForm的开发模式 (1)处理流程 在传统的WebForm模式下,我们请求一个例如http://www.aspnetmvc.com/bl ...

  5. ASP.Net MVC开发基础学习笔记(1):走向MVC模式

    一.ASP.Net的两种开发模式 1.1 ASP.Net WebForm的开发模式 (1)处理流程 在传统的WebForm模式下,我们请求一个例如http://www.aspnetmvc.com/bl ...

  6. ASP.Net MVC开发基础学习笔记:二、HtmlHelper与扩展方法

    一.一个功能强大的页面开发辅助类—HtmlHelper初步了解 1.1 有失必有得 在ASP.Net MVC中微软并没有提供类似服务器端控件那种开发方式,毕竟微软的MVC就是传统的请求处理响应的回归. ...

  7. ASP.Net MVC开发基础学习笔记:三、Razor视图引擎、控制器与路由机制学习

    一.天降神器“剃须刀” — Razor视图引擎 1.1 千呼万唤始出来的MVC3.0 在MVC3.0版本的时候,微软终于引入了第二种模板引擎:Razor.在这之前,我们一直在使用WebForm时代沿留 ...

  8. ASP.Net MVC开发基础学习笔记:五、区域、模板页与WebAPI初步

    一.区域—麻雀虽小,五脏俱全的迷你MVC项目 1.1 Area的兴起 为了方便大规模网站中的管理大量文件,在ASP.NET MVC 2.0版本中引入了一个新概念—区域(Area). 在项目上右击创建新 ...

  9. ASP.Net MVC开发基础学习笔记(5):区域、模板页与WebAPI初步

    一.区域—麻雀虽小,五脏俱全的迷你MVC项目 1.1 Area的兴起 为了方便大规模网站中的管理大量文件,在ASP.NET MVC 2.0版本中引入了一个新概念—区域(Area). 在项目上右击创建新 ...

  10. ASP.Net MVC开发基础学习笔记(3):Razor视图引擎、控制器与路由机制学习

    一.天降神器“剃须刀” — Razor视图引擎 1.1 千呼万唤始出来的MVC3.0 在MVC3.0版本的时候,微软终于引入了第二种模板引擎:Razor.在这之前,我们一直在使用WebForm时代沿留 ...

随机推荐

  1. mybatis实战教程(mybatis in action)之二:以接口的方式编程

    前面一章,已经搭建好了eclipse,mybatis,mysql的环境,并且实现了一个简单的查询.请注意,这种方式是用SqlSession实例来直接执行已映射的SQL语句:session.select ...

  2. 用HTML实现凸(凹)起的立体效果的表格

    视觉效果如下: 实现这个效果主要用到的是<table>标签的bordercolorlight和bordercolordark两个属性.不过在测试的过程中,我发现有的浏览器不支持这两个属性, ...

  3. JS常用工具函数

    /** * Created by gaojun-pd on 2016/10/27. */ var Util = { /** * 1.判断非空 * 2.获取字符串真实长度 汉字算两位 * 3.判断参数类 ...

  4. codeforces 645 E. Intellectual Inquiry

    一个字符串,由前k个字母组成,长度为m + n,其中前m个字符已经确定,后面n个由你自由选择, 使得这个串的不同的子序列的个数最多,空串也算一个子序列. 1 <= m <= 10^6,0 ...

  5. composer.json:项目安装!!!!!!!!!!

    基本用法 基本用法 安装 composer.json:项目安装 关于 require Key 包名称 包版本 下一个重要版本(波浪号运算符) 稳定性 安装依赖包 composer.lock - 锁文件 ...

  6. C++11 thread

    //这里使用c++的thread创建了5个线程,并支持传递多个参数 void thread1(int aa,int bb) { cout << aa << bb << ...

  7. 常用PHP函数类目录

    说明:用来记录我在开发过程中,经常用到的一些常用函数或者常用类. 常用函数 PHP常用函数 (1) 常用类 PHP表单数据校验类

  8. linux命令-find {查找}

    一  命令解释 常用示例 :find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \; path: find命令所 ...

  9. 浅谈lua

    Lua脚本语言,关于它的介绍及优点特性,跨平台啊等等,在百度上可以搜索到很多,所以我就不再这里细说了.我主要想说的是lua在嵌入到应用程序中之后.. lua是按照标准的c/c++写的.当然它同样是可以 ...

  10. Replication

    Peer-to-peer replication: http://msdn.microsoft.com/en-us/library/ms151196(v=sql.120).aspx Merge rep ...