您的位置:首页 > 编程语言 > ASP

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

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,发现新增的那条数据的确被删除了

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: