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应用的 ...
随机推荐
- 让你的 wowza server提供 RESTful web 服务
有时我们 nginx 须要和 wowza 服务器交互以进行一些 LB 事宜:有时我们的管理员须要实时了解 wowza 服务器的一些其它状态信息(比方一些自己定义对象的状态等等).而用 ...
- scott权限
有时scott数据被破坏了 可以回复 以下为 安装路径 dos下 @G:\app\Administrator\product\11.2.0\dbhome_1\RDBMS\ADMIN\scott. ...
- 网络中常见的ping命令协议
ICMP是"Internet Control Message Ptotocol"(Internet控制消息协议)的缩写.它是TCP/IP协议族的一个子协议,用于在IP主机.路由器之 ...
- unity, StopAllCoroutines导致bug的解决办法
StopAllCoroutines有时候不用不行. 但只要一用,就可能导致无穷无尽的bug. 原因是StopAllCoroutines会将当前脚本中所有coroutines都停掉,而没法做到只停掉我们 ...
- andorid HTTPS 不需要证书 VolleyEror: com.android.volley.NoConnectionError: javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not fou
1.加证书(这里不说) 2.修改代码 import java.security.KeyManagementException;import java.security.NoSuchAlgorithmE ...
- worker
<script id="worker" type="app/worker"> addEventListener('message', functio ...
- JUC组件扩展(二)-JAVA并行框架Fork/Join(四):监控Fork/Join池
Fork/Join 框架是为了解决可以使用 divide 和 conquer 技术,使用 fork() 和 join() 操作把任务分成小块的问题而设计的.主要实现这个行为的是 ForkJoinPoo ...
- C#Lpt端口打印类的操作浅析
C#LPT端口打印类的操作是什么呢?首先让我们看看什么是LPT端口(打印机专用)?LPT端口是一种增强了的双向并行传输接口,在USB接口出现以前是扫描仪,打印机最常用的接口.最高传输速度为1.5Mbp ...
- Windows编程总结之 DLL
+-- 版本 --+-- 编辑日期 --+-- 作者 -------------+ | V1. | | yin_caoyuan@.com | +----------+--------------+-- ...
- 谈一谈APP支付失败的处理
如题今天要描述一个问题是:程序在确认订单时拉起第三方支付,支付失败了,引起的问题. 为了能清楚的描述问题,我把场景复现一下,大家肯定都有过APP购物的体会,大家一定知道有一个按钮叫“确认”或者“结算” ...