我的第一个MVC4程序
InputExtensions 方法解释
http://blog.csdn.net/cnceohjm/article/details/8936669
https://msdn.microsoft.com/zh-cn/library/system.web.mvc.html.inputextensions_methods%28v=vs.118%29.aspx
实体
public class MovieModels
{
} public class MovieDB
{
public int Id { get; set; }
public string Title { get; set; }
public string Director { get; set; }
public DateTime Date { get; set; }
}
/// <add name="MovieDbContext" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True" providerName="System.Data.SqlClient"/>配置文件中的需要注意name,需要一样不区分大小写
public class MovieDBContext : DbContext
{
public DbSet<MovieDB> Movies { get; set; }
}
Controller
public class MoviesController : Controller
{
private MovieDBContext db = new MovieDBContext();
//
// GET: /Movies/ public ActionResult Index(string searchTitle)//也view名称一样,searchTitle必须与前台查询的名称相同
{
var titleQuery = from d in db.Movies orderby d.Title select d.Title;
ViewBag.SearchTitle = new SelectList(titleQuery);//查询,SearchTitle必须与前台查询的名称相同,否则报错。 var movies = from m in db.Movies select m;
if (!string.IsNullOrEmpty(searchTitle))
{
return View(movies.Where(x => x.Title == searchTitle));
} return View(db.Movies.ToList());
} public ActionResult Delete(int id = )
{
MovieDB movie = db.Movies.Find(id);
if (movie == null)
{
return HttpNotFound();
}
return View(movie);
} [HttpPost, ActionName("Delete")]
public ActionResult DeleteConfirmed(int id)
{
MovieDB movie = db.Movies.Find(id);
db.Movies.Remove(movie);
db.SaveChanges();
return RedirectToAction("Index");
} public ActionResult Details(int id = )
{
MovieDB movie = db.Movies.Find(id);
if (movie == null)
{
return HttpNotFound();
} return View(movie);
} //
// GET: /Movies/Create public ActionResult Create()//点击create时触发的事件,返回一个空页面
{
return View();
} [HttpPost]
public ActionResult Create(MovieDB movie)//保存数据
{
if (ModelState.IsValid)
{
db.Movies.Add(movie);
db.SaveChanges();
return RedirectToAction("Index");
} return View(movie);
} //GET:/Movies/Edit/5
public ActionResult Edit(int id = )
{
MovieDB movie = db.Movies.Find(id); if (movie == null)
{
return HttpNotFound();
} return View(movie);
} //POST: /Movies/Edit/5
[HttpPost]
public ActionResult Edit(MovieDB movie)
{
if (ModelState.IsValid)
{
db.Entry(movie).State = System.Data.EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
} return View(movie);
} }
Index.cshtml
@model IEnumerable<MVC4Movies.Models.MovieDB>//项目名称MVC4Movies
@{
ViewBag.Title = "Index";
} <h2>Index</h2> <p>
@Html.ActionLink("Create New","Create")
</p>
<form method="get">
<p>
Genre:@Html.DropDownList("SearchTitle", "all")
<input type="submit" value="search" />
</p>
</form>
<table>
<tr>
<th>@Html.DisplayNameFor(model => model.Id)</th>
<th>@Html.DisplayNameFor(model => model.Title)</th>
<th>@Html.DisplayNameFor(model => model.Director)</th>
<th>@Html.DisplayNameFor(model => model.Date)</th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.Id)
</td>
<td>
@Html.DisplayFor(modelItem => item.Title)
</td>
<td>
@Html.DisplayFor(modelItem => item.Director)
</td>
<td>
@Html.DisplayFor(modelItem => item.Date)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id = item.Id})|
@Html.ActionLink("Details", "Details", new { id = item.Id })|
@Html.ActionLink("Delete", "Delete", new {id = item.Id })
</td>
</tr>
}
</table>
Edit.cshtml
@model MVC4Movies.Models.MovieDB
@{
ViewBag.Title = "Edit";
} <h2>Edit</h2> @using (Html.BeginForm()) {
@Html.ValidationSummary(true) <fieldset>
<legend>Movie</legend> @Html.HiddenFor(model => model.Id) <div class="editor-label">
@Html.LabelFor(model => model.Title)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Title)
@Html.ValidationMessageFor(model => model.Title)
</div> <div class="editor-label">
@Html.LabelFor(model => model.Director)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Director)
@Html.ValidationMessageFor(model => model.Director)
</div> <div class="editor-label">
@Html.LabelFor(model => model.Date)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Date)
@Html.ValidationMessageFor(model => model.Date)
</div>
<p>
<input type="submit" value="Save" />
</p>
</fieldset>
} <div>
@Html.ActionLink("Back to List", "Index")
</div> @section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
Details.cshtml
@model MVC4Movies.Models.MovieDB
@{
ViewBag.Title = "Details";
} <h2>Details</h2> <fieldset>
<legend>Movie</legend> <div class="display-label">
@Html.DisplayNameFor(model => model.Title)
</div>
<div class="display-field">
@Html.DisplayFor(model => model.Title)
</div>
<div class="display-label">
@Html.DisplayNameFor(model => model.Director)
</div>
<div class="display-field">
@Html.DisplayFor(model => model.Director)
</div>
<div class="display-label">
@Html.DisplayNameFor(model => model.Date)
</div>
<div class="display-field">
@Html.DisplayFor(model => model.Date)
</div>
</fieldset>
<p>
@Html.ActionLink("Edit", "Edit", new { id=Model.Id})
@Html.ActionLink("Back to list", "Index")
</p>
Delete.cshtml
@model MVC4Movies.Models.MovieDB
@{
ViewBag.Title = "Delete";
} <h2>Delete</h2> <fieldset>
<legend>Movie</legend> @Html.HiddenFor(model => model.Id) <div class="display-label">
@Html.LabelFor(model => model.Title)
</div>
<div class="display-field">
@Html.DisplayFor(model => model.Title)
</div> <div class="display-label">
@Html.LabelFor(model => model.Director)
</div>
<div class="display-field">
@Html.DisplayFor(model => model.Director)
</div> <div class="display-label">
@Html.LabelFor(model => model.Date)
</div>
<div class="display-field">
@Html.DisplayFor(model => model.Date)
</div>
</fieldset> @using (Html.BeginForm()) {
<p>
<input type="submit" value="Delete" /> |
@Html.ActionLink("Back to List", "Index")
</p>
}
Create.cshtml
@model MVC4Movies.Models.MovieDB
@{
ViewBag.Title = "Create";
} <h2>Create</h2>
@using (Html.BeginForm()) {
@Html.ValidationSummary(true) <fieldset>
<legend>Movie</legend> <div class="editor-label">
@Html.LabelFor(model => model.Title)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Title)
@Html.ValidationMessageFor(model => model.Title)
</div> <div class="editor-label">
@Html.LabelFor(model => model.Director)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Director)
@Html.ValidationMessageFor(model => model.Director)
</div> <div class="editor-label">
@Html.LabelFor(model => model.Date)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Date)
@Html.ValidationMessageFor(model => model.Date)
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
} <div>
@Html.ActionLink("Back to List", "Index")
</div> @section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
view下面的文件夹Movies(Index.cshtml.....)
MVC概念
MVC的含义是 “模型-视图-控制器”。MVC是一个架构良好并且易于测试和易于维护的开发模式。基于MVC模式的应用程序包含:
· Models: 表示该应用程序的数据并使用验证逻辑来强制实施业务规则的数据类。
· Views: 应用程序动态生成 HTML所使用的模板文件。
· Controllers: 处理浏览器的请求,取得数据模型,然后指定要响应浏览器请求的视图模板。
本系列教程,我们将覆盖所有这些概念,并告诉您如何使用它们来构建应用程序。
我的第一个MVC4程序的更多相关文章
- [.NET MVC4 入门系列01]Helloworld MVC 4 第一个MVC4程序
[.NET MVC4 入门系列01]Helloworld MVC 4 第一个MVC4程序 一.练习项目: http://www.asp.net/mvc/tutorials/mvc-4/gettin ...
- 一个.net程序员教你使用less
我是一个.net 程序员,虽然说一直做后台,但是web 前端也会去学,虽然说技术只是层窗户纸,但是像我这种多动症患者,不捅破我心难受啊! 好!废话不多提,下面直接正题,至于less 是什么这里不多讲因 ...
- Pro ASP.NET MVC –第二章 第一个MVC程序
学习一个软件开发框架的最有效的方式就是了解并使用它.在本章,你将会创建一个简单基于ASP.NET MVC Framework的数据-实体应用程序.我们会该程序划分成若干小块,每次介绍一个部分,以便你能 ...
- DirectX游戏编程(一):创建一个Direct3D程序
一.环境 Visual Studio 2012,DirectX SDK (June 2010) 二.准备 1.环境变量(如没有配置请添加) 变量名:DXSDK_DIR 变量值:D:\Software\ ...
- 第一个python程序
一个python程序的两种执行方式: 1.第一种方式是通过python解释器: cmd->python->进入python解释器->编写python代码->回车. 2.第二种方 ...
- 编写第一个MapReduce程序—— 统计气温
摘要:hadoop安装完成后,像学习其他语言一样,要开始写一个“hello world!” ,看了一些学习资料,模仿写了个程序.对于一个C#程序员来说,写个java程序,并调用hadoop的包,并跑在 ...
- 1.3 第一个C#程序
几乎没一门编程语言的第一个程序都叫“你好,世界”,所以先在visual studio 中创建一个Helloworld程序. 各部分的详细内容: Main方法是程序运行的起点,最重要的代码就写在Main ...
- 一个.net程序员的安卓之旅-Eclipse设置代码智能提示功能
一个.net程序员的安卓之旅-代码智能提示功能 过完年回来就决心开始学安卓开发,就网上买了个内存条加在笔记本上(因为笔记本原来2G内存太卡了,装了vs2010.SQL Server 2008.orac ...
- MFC-01-Chapter01:Hello,MFC---1.3 第一个MFC程序(02)
1.3.1 应用程序对象 MFC应用程序的核心就是基于CWinApp类的应用程序对象,CWinApp提供了消息循环来检索消息并将消息调度给应用程序的窗口.当包含头文件<afxwin.h>, ...
随机推荐
- Communications link failure的解决办法
使用Connector/J连接MySQL数据库,程序运行较长时间后就会报以下错误: Communications link failure,The last packet successfully r ...
- 给定数组a[N]构造数组b[N]
转自:http://blog.csdn.net/wumuzi520/article/details/7841280 给定一个数组a[N],我们希望构造数组b [N], 其中b[j]=a[0]*a[1] ...
- Application Loader上传app时报错:the bundle identifier cannot be changed from the current value
报错如图: 解决:用info.plist中的bundle identifier生成发布证书(Distribution),如图:
- Table of Contents - HttpClient
HttpClient 4.3.5 Getting Started HttpClient 简单示例 Fundamentals Request Execution HTTP Request & H ...
- JS 操作JSON字符串
用Js的eval解析JSON中的注意点 在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. 使用Function对象来进行返回解析. 使用eva ...
- 使用T4为数据库自动生成实体类
T4 (Text Template Transformation Toolkit) 是一个基于模板的代码生成器.使用T4你可以通过写一些ASP.NET-like模板,来生成C#, T-SQL, XML ...
- Top 10 Programming Fonts
Top 10 Programming Fonts Sunday, 17 May 2009 • Permalink Update: This post was written back in 2009, ...
- 【学习笔记】【C语言】函数
一. 什么是函数 任何一个C语言程序都是由一个或者多个程序段(小程序)构成的,每个程序段都有自己的功能,我们一般称这些程序段为“函数”.所以,你可以说C语言程序是由函数构成的. 比如你用C语言编写了一 ...
- ODBC,实现图片循环写入Oracle数据库
import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import jav ...
- 10款基于HTML5+CSS3实现的超酷源码动画
1.基于Bootstrap的jQuery登录表单 这是一款基于Bootstrap的登录表单,表单的外观自然不用说,沿用了Bootstrap的风格,非常漂亮.这款登录表单有一个经过CSS3处理过的头像图 ...