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应用的 ...
随机推荐
- Android出现“Read-only file system”解决办法
操作设备文件系统上的文件结果遇到"... Read-only file system". 解决办法: 1. 最简单的,adb remount 2. 不行的话,adb shell s ...
- Google 地图 API for Android
原文:Introduction to Google Maps API for Android 作者:Eunice Obugyei 译者:kmyhy 从健康类 app Runkeeper 到游戏 app ...
- setjmp与longjmp
在C中有时我们会使用goto语句用于运行跳转,可是不能跨越函数 #include <stdio.h> void func2() { int num = 0; dst2: if (num & ...
- ajax 异步 通信 小例子 servlet与 jsp异步 post方法
post请求 url后面加参数 接收不到的,必须 放到send("use"=user)形式 还要加上 xhr.setRequestHeader("Content-Type ...
- IOT表
以前在接触索引的时候,就想过要是表字段太少,索引效果不是很不好吗,直接用索引不是更直接吗?后来因为懒惰也没有去查找相关资料.正好今天看到了table organization index,看了一下,实 ...
- [position]返回顶部
position:fixed;实现 <!DOCTYPE html> <html lang="en"> <head> <meta chars ...
- Eclipse Jetty Integration
http://eclipse-jetty.sourceforge.net/ Introduction Eclipse Jetty Integration provides a launch confi ...
- 河南省第七届ACM程序设计大赛赛后总结
我们学校ACM集训开始于4月5号(清明节),5月25日在郑州解放军信息工程大学举办,集训耗时50天,但是感觉效果还行,但是也不是太好:我们也已经尽力了,虽然说只拿了个银牌,每份收获的背后,都会有辛勤的 ...
- 基于ffmpeg 直播推流和播放rtmp (IOS源码)
ios直播推流每秒能达到30帧,比安卓要强,视频采用软编码的话手机会发烫,得采用码编码,播放视频采用opengl渲染. ffmpeg初始化代码如下: int init_Code(int width, ...
- The Definitive Guide To Django 2 学习笔记(一) Views and UrL confsRL
1.如何找到django在Ubuntu下的安装路径: 进入python命令行,import django,print(django.__path__) 2.使用django-admin.py 创建项目 ...