新建项目----ASP.NET MVC 4 Web 应用程序------选择模板(空)、视图引擎(ASPX)

1、认识控制器Controller

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using MVC1.Models; namespace MVC1.Controllers //命名空间
{
//控制器名称 //继承Controller
public class HomeController : Controller
{ //action 动作 每一个动作决定你要干什么(方法) ActionResult返回房类型
public string Index()
{
return "你好!世界";
} }
}

用到模型数据时需要引用命名空间

using   项目名.Models

2、认识模型Model

LinQ 放在model里面,

3、认识视图 View

在返回视图的动作中右键添加视图

只有在 控制器中 ActionResult 类型的动作中才可以有视图
        public ActionResult Index()
{
return View();
}

用到模型数据时需要引用命名空间(最上方)

    <% @ Import Namespace ="mvc2.Models"  %>

引入      命名空间             项目名.模板名

案例分析:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web; namespace mvc2.Models
{
public class UsersData
{
DataClasses1DataContext con = new DataClasses1DataContext();
public List<Users> SelectAll()
{
return con.Users.ToList();
} public bool Insert(Users u)
{
bool ok = false;
try
{
con.Users.InsertOnSubmit(u);
con.SubmitChanges();
ok = true;
}
catch { } return ok;
} public bool DeleteUser(string ids)
{
bool ok = false; Users u = con.Users.Where(r => r.Ids.ToString() == ids).FirstOrDefault();
if (u != null)
{
con.Users.DeleteOnSubmit(u);
con.SubmitChanges();
ok = true;
} return ok;
} public Users SelectUser(string ids)
{
return con.Users.Where(r => r.Ids.ToString() == ids).FirstOrDefault();
} }
}

UsersData

using mvc2.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc; namespace mvc2.Controllers
{
public class HomeController : Controller
{
//展示
public ActionResult Index()
{
return View();
} //添加视图
public ActionResult Insert()
{
return View();
} //添加计算
public ActionResult Insert1(string username, string password, string nickname, string sex, string birthday, string nation)
{
Users u = new Users();
u.UserName = username;
u.PassWord = password;
u.NickName = nickname;
u.Sex = Convert.ToBoolean(sex);
u.Birthday = Convert.ToDateTime(birthday);
u.Nation = nation; bool ok = new UsersData().Insert(u);
Session["InsertOK"] = ok; return RedirectToAction("Index", "Home");
//重定向 ( 动作名 , 控制器名 )
} //删除
public ActionResult Delete(string id)
{
bool ok = new UsersData().DeleteUser(id); return RedirectToAction("Index");
} //修改
public ActionResult Update(string id)
{
Users u = new UsersData().SelectUser(id); //根据id查询出u ViewBag.hehe = u; //试图数据包,传递数据 return View();
} }
}

控制器

--删除,不需要视图展示,直接在动作上 计算

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>

<%@ Import Namespace="mvc2.Models" %>

<!DOCTYPE html>

<html>
<head runat="server">
<meta name="viewport" content="width=device-width" />
<title>Index</title>
</head>
<body>
<div>
<% if (Convert.ToBoolean(Session["InsertOK"]) == true)
{%> <script type="text/javascript">
alert('添加成功!'); </script>
<%
Session["InsertOK"] = null;
} %> <table style="width: 100%; text-align: center; background-color: navy;">
<tr style="color: white;">
<td>用户名</td>
<td>密码</td>
<td>昵称</td>
<td>性别</td>
<td>生日</td>
<td>民族</td>
<td>操作</td>
</tr>
<%
List<Users> ulist = new UsersData().SelectAll(); foreach (Users u in ulist)
{
%>
<tr style="background-color: white;">
<td><%=u.UserName %></td>
<td><%=u.PassWord %></td>
<td><%=u.NickName %>同学</td>
<td><%=u.Sex.Value?"男":"女" %></td> <%--.value 数据转换--%>
<td><%=u.Birthday.Value.ToString("yyyy年MM月dd日") %></td>
<td><%=u.UserNation.NationName %></td>
<td>
<a href="Home/Update/<%=u.Ids %>">修改</a> |
<a href="Home/Delete/<%=u.Ids %>">删除</a> </td>
</tr>
<%
}
%>
</table>
<input type="button" value="添加" onclick="window.open('Home/Insert', '_blank');" /> </div>
</body>
</html>

主展示视图

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>

<!DOCTYPE html>

<html>
<head runat="server">
<meta name="viewport" content="width=device-width" />
<title>Insert</title>
</head>
<body>
<div>
<h1>添加用户</h1> <form action="Insert1" method="post"> <%--表单--%>
<%-- 提交到哪 提交方式--%> 用户名:
<input type="text" name="username" /><br />
密码:
<input type="text" name="password" /><br />
昵称:
<input type="text" name="nickname" /><br />
性别:
<input type="text" name="sex" /><br />
生日:
<input type="text" name="birthday" /><br />
民族:
<input type="text" name="nation" /><br />
<input type="submit" value="保存" /> </form> </div>
</body>
</html>

添加——用表单提交

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>

<%@ Import Namespace="mvc2.Models" %>

<!DOCTYPE html>

<html>
<head runat="server">
<meta name="viewport" content="width=device-width" />
<title>Update</title>
</head>
<body> <h1>修改用户</h1> <% Users u = ViewBag.hehe; %>
<%-------------将传进来的数据取出--%> <form action="Update1" method="post">
用户名: <%-----------绑定数据--%>
<input type="text" name="username" value="<%=u.UserName %>" /><br />
密码:
<input type="text" name="password" value="<%=u.PassWord %>" /><br />
昵称:
<input type="text" name="nickname" value="<%=u.NickName %>" /><br />
性别:
<input type="text" name="sex" value="<%=u.Sex %>" /><br />
生日:
<input type="text" name="birthday" value="<%=u.Birthday %>" /><br />
民族:
<input type="text" name="nation" value="<%=u.Nation %>" /><br />
<input type="submit" value="保存" /> </form> </body>
</html>

修改——表单提交

ViewBag 传值

ViewBag.变量=值

ViewBag.a=u;                            --  动作中传

<% Users u = ViewBag.a %>      -- 视图中接收

可以传任何类型的值,只能在本视图中传值,

MVC 【ASPX视图引擎】的更多相关文章

  1. 2014-07-29 浅谈MVC框架中Razor与ASPX视图引擎

    今天是在吾索实习的第15天.随着准备工作的完善,我们小组将逐步开始手机端BBS的开发,而且我们将计划使用MVC框架进行该系统的开发.虽然我们对MVC框架并不是非常熟悉,或许这会降低我们开发该系统的效率 ...

  2. ASP.NET MVC——Razor视图引擎

    Razor是MVC框架视图引擎,我们今天就来说一说Razor视图引擎. 首先还是来创建一个基础项目叫Razor来演示. 先来定义一个Model叫Product public class Product ...

  3. 第5章——使用 Razor(MVC框架视图引擎)

    Razor 是MVC框架视图引擎的名称. 本章提供 Razor 语法的快速教程,以使你能够识别 Razor 表达式. 本章不打算提供 Razor 的完整参考,而将其视为一个语法速成教程.在本书的后续内 ...

  4. MVC ViewEngine视图引擎解读及autofac的IOC运用实践

    MVC 三大特色  Model.View.Control ,这次咱们讲视图引擎ViewEngine 1.首先看看IViewEngine接口的定义 namespace System.Web.Mvc { ...

  5. ASP.NET MVC 对于视图引擎的优化

    我经常使用asp.net MVC框架来做网站.总的来说,MVC框架是一个非常优秀的框架.相对于曾经的web form模式,我个人感觉分工更加合理思路也更加清晰,但是交给开发人员的工作也相对变多了. 当 ...

  6. ASP.NET MVC Razor视图引擎攻略

    --引子 看下面一段MVC 2.0的代码. <%if (Model != null){%> <p><%=Model%></p><%}%>&l ...

  7. ASP.NET MVC自定义视图引擎ViewEngine 创建Model的专属视图

    MVC内置的视图引擎有WebForm view engine和Razor view engine,当然也可以自定义视图引擎ViewEngine. 本文想针对某个Model,自定义该Model的专属视图 ...

  8. ASP.NET WEB应用程序(.network4.5)MVC Razor视图引擎2 视图模板页

    https://www.cnblogs.com/xlhblogs/archive/2013/06/09/3129449.html MVC Razor模板引擎 @RenderBody.@RenderPa ...

  9. ASP.NET WEB应用程序(.network4.5)MVC Razor视图引擎2 HtmlHelper-超链接方法

    一.@Html.ActionLink()概述 在MVC的Rasor视图引擎中,微软采用一种全新的方式来表示从前的超链接方式,它代替了从前的繁杂的超链接标签,让代码看起来更加简洁.通过浏览器依然会解析成 ...

随机推荐

  1. 甲方安全建设之office365邮箱弱口令检测

    甲方安全建设之office365邮箱弱口令检测 信息收集 资产范围 资产列表总数是521 抓包后发现只有102 一番测试之后发现控制Response的关键在于MaxEntriesReturned字段, ...

  2. 使用百度地图实现详细地址自动补全(补全bug''事件只能绑定到一个上的问题')

    function G(id) { return document.getElementById(id); } loadMapAutocomplete("suggestId",&qu ...

  3. 用VerilogHDL设计一个与门逻辑,并进行前仿和后仿

    执行菜单命令[File]-[New Project Wizard…],创建工程向导. 在What is the working directory for this project?下选择项目存储地址 ...

  4. pyinstaller打包程序 带图片

    首选说一下,这种打包方式只能在本电脑上使用运行正常 准备:.py文件:你的程序 gif文件:你要用的图片 第一步: 在上面文件所在目录打开cmd 输入 pyi-makespec FP.py 会生成一个 ...

  5. .NET MVC 学习笔记(一)— 新建MVC工程

    一..NET MVC 学习笔记(一)—— 新建MVC工程 接触MVC有段时间了,一直想找机会整理一下,可是限于文笔太差,所以一直迟迟羞于下手,想到最近做过的MVC项目也有一些了,花点时间整理一下方便以 ...

  6. Android 发展思路

    1. 做一个有 ‘特色’ 的程序员 Android 开发,本身并不是一个可以走得多远的方向,真正有价值的地方在于与具体的业务方向结合,比如:Android 与音视频技术,Android 与智能硬件交互 ...

  7. WebRTC 学习之 Conference 实现混音混屏

    混音 混音的意义就是将多个音频流混成一路音频,在Conference 的实现中有分为终端实现和服务器实现. 1. 终端混音实现: 终端接受到多路(一般是多个用户)的音频流之后,在终端本地将多路音频流混 ...

  8. ie被hao.360劫持的解决方法

    概述 之前无意中发现ie被hao.360劫持了,只要打开网址就会跳到hao.360,然后显示网络错误.网上试了几种解决方法,都不行,最后被我用重置ie浏览器的方法解决了.我总结了一下,把各种方案都记下 ...

  9. LVS-1

    lvs 再调度上非常出色,能处理400万的并发: 在功能上不足,需要其他软件的支持.

  10. Shell - 简明Shell入门

    本文以示例和注释的方式,对Shell编程的基本知识点进行了总结和回顾,所有脚本均已做了基本的调试和验证. Shell - 简明Shell入门 01 - 第一个脚本 脚本的定义.执行方法以及echo命令 ...