MVC [Control与View交互]
<1>
Home控制器
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Entity;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using MvcApplication4.Models; namespace MvcApplication4.Controllers
{
public class HomeController : Controller
{
private salesEntities db = new salesEntities();//salesEntities是一个ADO.NET实体数据模型类 //
// GET: /Home/ public ActionResult Index()
{
return View(db.T_UserInfo.ToList());
} //
// GET: /Home/Details/5 public ActionResult Details(int id = 0)
{
T_UserInfo t_userinfo = db.T_UserInfo.Single(t => t.id == id);
if (t_userinfo == null)
{
return HttpNotFound();
}
return View(t_userinfo);
} //
// GET: /Home/Create public ActionResult Create()
{
return View();
} //
// POST: /Home/Create [HttpPost]
public ActionResult Create(T_UserInfo t_userinfo)
{
if (ModelState.IsValid)
{
db.T_UserInfo.AddObject(t_userinfo);
db.SaveChanges();
return RedirectToAction("Index");
} return View(t_userinfo);
} //
// GET: /Home/Edit/5 public ActionResult Edit(int id = 0)
{
T_UserInfo t_userinfo = db.T_UserInfo.Single(t => t.id == id);
if (t_userinfo == null)
{
return HttpNotFound();
}
return View(t_userinfo);
} //
// POST: /Home/Edit/5 [HttpPost]
public ActionResult Edit(T_UserInfo t_userinfo)
{
if (ModelState.IsValid)
{
db.T_UserInfo.Attach(t_userinfo);
db.ObjectStateManager.ChangeObjectState(t_userinfo, EntityState.Modified);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(t_userinfo);
} //
// GET: /Home/Delete/5 public ActionResult Delete(int id = 0)
{
T_UserInfo t_userinfo = db.T_UserInfo.Single(t => t.id == id);
if (t_userinfo == null)
{
return HttpNotFound();
}
return View(t_userinfo);
} //
// POST: /Home/Delete/5 [HttpPost, ActionName("Delete")]
public ActionResult DeleteConfirmed(int id)
{
T_UserInfo t_userinfo = db.T_UserInfo.Single(t => t.id == id);
db.T_UserInfo.DeleteObject(t_userinfo);
db.SaveChanges();
return RedirectToAction("Index");
} protected override void Dispose(bool disposing)
{
db.Dispose();
base.Dispose(disposing);
}
}
}
Index 视图 (这是首页)
@model IEnumerable<MvcApplication4.Models.T_UserInfo>--------------请注意这么一条语句,很重要
@{
ViewBag.Title = "Index";
}
<h2>首页</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<table>
<tr>
<th>
@* @Html.DisplayNameFor(model => model.Name)*@
@Html.Label("姓名")
</th>
<th>
@* @Html.DisplayNameFor(model => model.Age)*@
@Html.Label("年龄")
</th>
<th></th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.Name)
</td>
<td>
@Html.DisplayFor(modelItem => item.Age)
</td>
<td>
@Html.ActionLink("编辑", "Edit", new { id=item.id }) |
@Html.ActionLink("明细", "Details", new { id=item.id }) |
@Html.ActionLink("删除", "Delete", new { id=item.id })
</td>
</tr>
}
</table>
Create视图
@model MvcApplication4.Models.T_UserInfo
@{
ViewBag.Title = "Create";
}
<h2>创建</h2>
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<legend>T_UserInfo</legend>
<div class="editor-label">
@Html.LabelFor(model => model.Name)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Age)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Age)
@Html.ValidationMessageFor(model => model.Age)
</div>
<p>
<input type="submit" value="确定加入" />
</p>
</fieldset>
}
<div>
@Html.ActionLink("跳转到首页", "Index")
</div>
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
delete 视图
@model MvcApplication4.Models.T_UserInfo
@{
ViewBag.Title = "Delete";
}
<h2>删除</h2>
<h3>你确定要删除它吗??</h3>
<fieldset>
<legend>T_UserInfo</legend>
<table>
<tr><th>@Html.Label("姓名:")</th><td>@Html.DisplayFor(model => model.Name)</td></tr>
<tr><th>@Html.Label("年龄:")</th><td> @Html.DisplayFor(model => model.Age)</td></tr>
</table>
</fieldset>
@using (Html.BeginForm()) {
<p>
<input type="submit" value="确定删除" /> |
@Html.ActionLink("跳转到首页", "Index")
</p>
}
Details视图
@model MvcApplication4.Models.T_UserInfo
@{
ViewBag.Title = "Details";
}
<h2>明细</h2>
<fieldset>
<legend>T_UserInfo</legend>
<table>
<tr><th>@Html.Label("姓名:")</th><td>@Html.DisplayFor(model => model.Name)</td></tr>
<tr><th>@Html.Label("年龄:")</th><td> @Html.DisplayFor(model => model.Age)</td></tr>
</table>
</fieldset>
<p>
@Html.ActionLink("编辑", "Edit", new { id=Model.id }) |
@Html.ActionLink("跳转到首页", "Index")
</p>
Edit 视图
@model MvcApplication4.Models.T_UserInfo
@{
ViewBag.Title = "Edit";
}
<h2>编辑</h2>
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<legend>T_UserInfo</legend>
@Html.HiddenFor(model => model.id)
<div class="editor-label">
@* @Html.LabelFor(model => model.Name)*@
@Html.Label("姓名")
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name)
</div>
<div class="editor-label">
@*@Html.LabelFor(model => model.Age)*@
@Html.Label("年龄")
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Age)
@Html.ValidationMessageFor(model => model.Age)
</div>
<p>
<input type="submit" value="保存" />
</p>
</fieldset>
}
<div>
@Html.ActionLink("跳转到首页", "Index")
</div>
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
MVC [Control与View交互]的更多相关文章
- Asp.Net MVC Control向View传值
1.通过View(Parameter)参数传值 Control: namespace MyMVCDemo.Controllers { public class PersonControlle ...
- MVC:Control与View传值
MVC页面传值的方式主要有三种: 第一种: 采用ViewData.采用键值对的方式,ViewData存储的是一个object类型,传到view层需要强类型转换:使用起来类似于字典集合模式: ViewD ...
- MVC(Model View Controller)框架
MVC框架 同义词 MVC一般指MVC框架 MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一 ...
- ASP.NET MVC与Sql Server交互,把字典数据插入数据库
在"ASP.NET MVC与Sql Server交互, 插入数据"中,在Controller中拼接sql语句.比如: _db.InsertData("insert int ...
- MVC中视图View向控制器传值的方法
MVC中视图View向控制器传值的方法步骤如下: 1.index页面: 页面中只需要一个触发事件的按钮
- MVC(Model(模型) View(视图) Controller(控制器))
复习 1. 商品表 增删改查 index.php add.php view.php edit.php action.php 2. MVC(Model(模型) Vie ...
- ASP.NET MVC Controller向View传值的几种方式
上几篇博文提到MVC和WebForm的区别,主要是MVC的Controller和View将传统的WebForm的窗体和后台代码做了解耦,这篇博文简单介绍一下在MVC中Controller向View是如 ...
- ASP.NET没有魔法——ASP.NET MVC Razor与View渲染
对于Web应用来说,它的界面是由浏览器根据HTML代码及其引用的相关资源进行渲染后展示给用户的结果,换句话说Web应用的界面呈现工作是由浏览器完成的,Web应用的原理是通过Http协议从服务器上获取到 ...
- ASP.NET没有魔法——ASP.NET MVC Razor与View渲染 ASP.NET没有魔法——ASP.NET MVC界面美化及使用Bundle完成静态资源管理
ASP.NET没有魔法——ASP.NET MVC Razor与View渲染 对于Web应用来说,它的界面是由浏览器根据HTML代码及其引用的相关资源进行渲染后展示给用户的结果,换句话说Web应用的 ...
随机推荐
- Linux下如何修改root密码以及找回root密码
Linux下修改root密码方法 以root身份登陆,执行: passwd 用户名 然后根据提示,输入新密码,再次输入新密码,系统会提示成功修改密码. 具体示例如下: [root@www ~]# pa ...
- 关于DevOps你必须知道的11件事
转自:http://www.infoq.com/cn/articles/11devops 关于作者 Gene Kim在多个角色上屡获殊荣:CTO.研究者和作家.他曾是Tripwire的创始人并担任了1 ...
- java的日期格式使用
转自: 关于java中六个时间类的使用和区别 java.util.Date java.sql.Date java.sql.Time java.sql.Timestamp java.tex ...
- PHP中文乱码的常见解决方法总结
PHP中文乱码是PHP开发中的常见问题之一.PHP中文乱码有时发生在网页本身,有些产生在于MySQL交互的过程中,有时与操作系统有关.下面进行一番总结. 一.首先是PHP网页的编码 1. php文件本 ...
- Selenium自動化測試(Python+VS2013)-基礎篇-環境安裝
Python+VS2013環境安裝 http://www.cnblogs.com/aehyok/p/3986168.html PTVS: http://microsoft.github.io/PTVS ...
- TypeScript 入门指南
你是否听过 TypeScript? TypeScript 是微软开发的 JavaScript 的超集,TypeScript兼容JavaScript,可以载入JavaScript代码然后运行.TypeS ...
- Atitit.检测文本文件的编码 自动获取文件的中文编码
Atitit.检测文本文件的编码 自动获取文件的中文编码 1 不能使用load来检测编码..1 2 使用convert来检测编码1 3 程序检测文本编码2 3.1 根据utf bom头2 3.2 检测 ...
- CMSGC造成内存碎片的解决方法
我们知道,CMSGC在老生代回收时产生的内存碎片会导致老生代的利用率变低:或者可能在老生代总内存大小足够的情况下,却不能容纳新生代的晋升行为(由于没有连续的内存空间可用),导致触发FullGC.针对这 ...
- [JNA系列]Java调用Delphi编写的Dll之实例Delphi使用PWideChar
Delphi代码 unit UnitDll; interface uses StrUtils, SysUtils, Dialogs; function DoBusinessWide(pvData: P ...
- Windows管理多个java版本--解决'has value '1.8',but'1.7' is required'的方法
公司考虑到代码的可持续维护性,要求全部使用java7,自己又想在空闲时间学一些java8的新特性,故在安装完1.7之后又安装了1.8,导致eclisp在启动时报’has value ‘1.8’,but ...