西北狼

-- 学而时习之,不亦乐乎!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2009年5月14日

摘要: 分页如果dinners列表记录过多,为了让用户更方便浏览,我们需要实现分页显示,而不是一次显示大量的记录列表。Index() Action方法更新DinnersController类的Index() action方法代码如下: // // GET: /Dinners/ public ActionResult Index() { var dinners = dinnerRepository.Find... 阅读全文

posted @ 2009-05-14 14:15 西北老狼 阅读(496) 评论(0) 推荐(0) 编辑

摘要: PartialsASP.NET MVC的一个设计理念是“Do Not Repeat Yourself”原则(通常称为DRY)。DRY设计帮助排除重复的代码和逻辑,让应用程序更快创建和更容易维护。我们已经看到DRY原则应用在NerdDinner应用程序的一些方面了。如验证逻辑在Model层实现,在Controller的编辑和创建方法中均可执行;我们也跨越Edit、Detail... 阅读全文

posted @ 2009-05-14 14:03 西北老狼 阅读(518) 评论(0) 推荐(0) 编辑

摘要: ViewData和ViewModel现在我们将进一步扩展DinnersController,实现丰富表单编辑功能。这里我们讨论2种方法,用来将数据从Controller传递到View:ViewData 和 ViewModel。从Controller传递数据到View视图模板MVC模式一个典型的特征是严格的功能隔离。Model模型、Controller控制器和View视图各自定义了作用和职责,且相互... 阅读全文

posted @ 2009-05-14 13:48 西北老狼 阅读(1672) 评论(2) 推荐(0) 编辑

摘要: 模型绑定的安全性我们已经讨论了2中不同的方法使用ASP.NET MVC内置的模型绑定功能。第一个方法是使用UpdateModel() 方法更新一个已存在的模型对象的属性;第二个方法是传递模型对象,作为action方法的参数。这两项技术都非常强大和有用。功能虽然强大,但也需要考虑用户输入的安全性,包括绑定对象到表单的输入。一定要通过HTML 编码所有用户输入值,避免HTML和Javascript注入... 阅读全文

posted @ 2009-05-14 13:36 西北老狼 阅读(590) 评论(1) 推荐(0) 编辑

摘要: 实现HTTP-GET的Delete Action方法现在开始添加Delete功能到DinnersController类。当用户访问/Dinners/Delete/[id] URL网址时,将访问delete action 方法,下面是该方法的实现: // // HTTP GET: /Dinners/Delete/1 public ActionResult Delete(int id) { Dinne... 阅读全文

posted @ 2009-05-14 13:23 西北老狼 阅读(1162) 评论(1) 推荐(0) 编辑

摘要: 实现HTTP-GET的Create Action方法前面我们完成了实现DinnersController类的Edit方法,接下来实现Create方法 – 允许用户添加新的Dinners记录。下面开始实现Create Action方法的HTTP GET行为。在用户访问/Dinners/Create 地址时,将调用该方法,实现代码如下: // // GET: /Dinners/Create... 阅读全文

posted @ 2009-05-14 13:21 西北老狼 阅读(828) 评论(0) 推荐(0) 编辑

摘要: 理解ModelState 和验证HTML辅助方法Controller类有一个ModelState属性集合,可以用来提示传递到视图的model对象是否有错误。ModelState中Error记录识别模型属性的名称和错误信息,并允许指定友好的错误信息。在UpdateModel() 辅助方法给model对象的属性赋值时,如遇到异常或错误,会自动写道ModelState集合中。例如,Dinner对象的Ev... 阅读全文

posted @ 2009-05-14 13:17 西北老狼 阅读(5012) 评论(0) 推荐(0) 编辑

摘要: 实现HTTP-POST的Edit Action方法现在,我们已经实现了支持HTTP-GET的Edit action方法。当用户请求/Dinners/Edit/2 地址时,接收一个HTML页面。点击Save保存按钮,将触发表单提交到/Dinners/Edit/2 网址,并通过HTTP POST提交<input> 表单中的值。下面,我们开始实现HTTP POST的Edit action 方... 阅读全文

posted @ 2009-05-14 13:15 西北老狼 阅读(5533) 评论(0) 推荐(0) 编辑

摘要: 创建、更新、删除记录我们已经介绍了控制器和视图,已经知道如何实现数据列表和详细信息的显示。接下来,我们进一步扩展DinnersController类实现编辑、创建和删除Dinners记录。DinnersController处理URL请求之前我们添加了2个action方法到DinnersController控制器,实现支持如下2个URL:/Dinners和/Dinners/Details/[id]。... 阅读全文

posted @ 2009-05-14 13:13 西北老狼 阅读(1333) 评论(0) 推荐(0) 编辑