asp.net mvc 3.0详细笔记__15__Razor
2014-01-02 23:35
495 查看
欢迎一起来学习MVC 3.0,我们在一步一个脚印的做一个MVC 3.0的项目,期间会有很多值得探索的地方。将会学到Razor,Lampda,Entity
Framework,Linq C#新特性等等知识,一起加油吧!
本次重点突破:
Razor
工具资源下载:http://download.csdn.net/detail/dhcsimida/6779357(下载过就不用重复下载了)
(1)软件开发说白了就是增查改删(CRUD),之前我们已经完成了后三项,只差"增加"没有做,这次重点突破"增加",为什么把"增加"放在最后呢?它和其他三种操作有本质上的区别吗?对,因为当用户第一次访问地址
/StoreManager/Create 的时候,用户将会看到一个空的表单,HTML 页面中包含一个 <form> 元素,其中包含了下拉列表和文本框等输入元素,用户可以借助他们输入具体的详细信息。
更新不带[HttpPost]标签的Create方法,如代码1.1
代码1.1
图2.1
(3)更新代码,将
修改为
(4)执行程序,输入地址:/StoreManager,会发现左上侧有"Create
New"连接,点击就会呈现图4.1
图4.1
(5)至此,用Get提交的"增加"功能完成了,由于前面讲到的更新和删除同样都只是讲解了用Get提交的做法,实际情况下,这是远远不够的,我们一定会用到Post来提交到数据库,下面就说说Post提交的处理方法。
更新带[HttpPost]标签的Edit方法,如代码5.1
(6)执行结果如图6.1
(7)更新带[HttpPost]标签的Create方法,如代码7.1
代码7.1
(8)执行,添加信息如图8.1,点击"Create"结果如图8.2
图8.1
图8.2
(9)将带[HttpPost]标签的Delete方法名改为DeleteConfirmed,然后修改DeleteConfirmed代码,如代码9.1
(10)执行程序,选中刚刚新添加的那条记录,点击"Delete",弹出画面如图10.1,继续点击"Delete"最终结果如图10.2
图10.1
图10.2,发现新增的那条数据的确被删除了
Framework,Linq C#新特性等等知识,一起加油吧!
本次重点突破:
Razor
工具资源下载:http://download.csdn.net/detail/dhcsimida/6779357(下载过就不用重复下载了)
(1)软件开发说白了就是增查改删(CRUD),之前我们已经完成了后三项,只差"增加"没有做,这次重点突破"增加",为什么把"增加"放在最后呢?它和其他三种操作有本质上的区别吗?对,因为当用户第一次访问地址
/StoreManager/Create 的时候,用户将会看到一个空的表单,HTML 页面中包含一个 <form> 元素,其中包含了下拉列表和文本框等输入元素,用户可以借助他们输入具体的详细信息。
更新不带[HttpPost]标签的Create方法,如代码1.1
代码1.1
public ActionResult Create() { ViewBag.GenreId = new SelectList(db.Genre, "GenreId", "Name"); ViewBag.ArtistId = new SelectList(db.Artist, "ArtistId", "Name"); return View(); }(2)创建Create.cshtml视图,如图2.1
图2.1
(3)更新代码,将
@Html.LabelFor(model => model.GenreId)
修改为
@Html.DropDownList("GenreId", String.Empty)
(4)执行程序,输入地址:/StoreManager,会发现左上侧有"Create
New"连接,点击就会呈现图4.1
图4.1
(5)至此,用Get提交的"增加"功能完成了,由于前面讲到的更新和删除同样都只是讲解了用Get提交的做法,实际情况下,这是远远不够的,我们一定会用到Post来提交到数据库,下面就说说Post提交的处理方法。
更新带[HttpPost]标签的Edit方法,如代码5.1
(6)执行结果如图6.1
(7)更新带[HttpPost]标签的Create方法,如代码7.1
代码7.1
[HttpPost] public ActionResult Create(Album album, FormCollection collection) { if (ModelState.IsValid) { db.Album.Add(album); db.SaveChanges(); return RedirectToAction("Index"); } ViewBag.GenreId = new SelectList(db.Genre, "GenreId", "Name", album.GenreId); ViewBag.ArtistId = new SelectList(db.Artist, "ArtistId", "Name", album.ArtistId); return View(album); }
(8)执行,添加信息如图8.1,点击"Create"结果如图8.2
图8.1
图8.2
(9)将带[HttpPost]标签的Delete方法名改为DeleteConfirmed,然后修改DeleteConfirmed代码,如代码9.1
[HttpPost, ActionName("Delete")] public ActionResult DeleteConfirmed(int id) { Album album = db.Album.Find(id); db.Album.Remove(album); db.SaveChanges(); return RedirectToAction("Index"); }
(10)执行程序,选中刚刚新添加的那条记录,点击"Delete",弹出画面如图10.1,继续点击"Delete"最终结果如图10.2
图10.1
图10.2,发现新增的那条数据的确被删除了
相关文章推荐
- ASP.NET MVC 3.0 Razor 学习笔记之三
- asp.net mvc 3.0详细笔记__01__准备工作,新建项目
- asp.net mvc 3.0详细笔记__10__创建强类型视图
- asp.net mvc 3.0详细笔记__12__Razor超链接Html.ActionLink()
- asp.net mvc 3.0详细笔记__11__创建分部视图
- asp.net mvc 3.0详细笔记__17__使用 DataAnnotations 进行模型验证
- asp.net mvc 3.0详细笔记__02__项目文件结构概述
- asp.net mvc 3.0详细笔记__18__EF的下载
- asp.net mvc 3.0详细笔记__03__项目文件结构详解_Controllers
- asp.net mvc 3.0详细笔记__14__了解支架
- asp.net mvc 3.0详细笔记__05__项目文件结构详解_Views
- asp.net mvc 3.0详细笔记__06__项目文件结构详解_Content和Scripts
- asp.net mvc 3.0详细笔记__13__了解Linq,#region,#endregion
- asp.net mvc 3.0详细笔记__04__项目文件结构详解_Models
- asp.net mvc 3.0详细笔记__08__项目文件结构详解_Web.config
- asp.net mvc 3.0详细笔记__09__创建数据库,应用EF连接模型类和数据表
- ASP.NET MVC 3.0 Razor 学习笔记之四
- asp.net mvc 3.0详细笔记__07__项目文件结构详解_Global.asax
- asp.net mvc 3.0详细笔记__16__自定义的 HtmlHelper类方法
- ExtJS & ASP.NET MVC3.0 学习笔记二