MVC让人惊叹
RT,MVC模式里面太多让人惊叹的事情,
有时候会情不自禁的和webform比较,webform显的有些苍白。
我想这也是它流行的重要原因之一。控制方便,逻辑清晰,代码简洁。
今天接触的是MVC里集成的验证,真是让我大呼爽快,
在实体类里定义的属性的验证限制,然后在控制类try一下,视图就自动提示。
这个可比webform的控件方便多了,虽然原理估计差不多,但是看起来却清晰了。
每一天,心与朝阳升起,随夕阳沉淀。
RT,MVC模式里面太多让人惊叹的事情,
有时候会情不自禁的和webform比较,webform显的有些苍白。
我想这也是它流行的重要原因之一。控制方便,逻辑清晰,代码简洁。
今天接触的是MVC里集成的验证,真是让我大呼爽快,
在实体类里定义的属性的验证限制,然后在控制类try一下,视图就自动提示。
这个可比webform的控件方便多了,虽然原理估计差不多,但是看起来却清晰了。

已经准备两点,但是却很兴奋睡不着。
MVC中显示数据表格,真是太兴奋了,这种显示方式正式我以前所希望看到的。webform直接控件搞定,虽然是方便,总感觉没有现在这样的自定义的爽哈哈。
这只是一个很简单的例子。。。。哇哈哈,越来越好玩了。
第一种方法:在视图本身中执行所有的格式化
Movies表
Id int 主键、标识
Title nvarchar(200)
Director nvarchar(200)
DateReleased datetime
/*Linq to sql 做的model*/
Controllers/HomeContronller
Views/Home/Movie.aspx
第二种方法
使用局部页面(partial)作为一个模板来格式化每一个数据库记录
新建一个用户空间页面作为局部页面MovieTemplate.ascx,
这个页面必须放在Views/Shard/或者具体的控制视图文件夹内例如:Views/Home/
因为MovieTemplate类继承自这个类,ViewData.Model属性自动转换为Movie
后台代码,继承System.Web.Mvc.ViewUserControl
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using HtmlHelpersTest.Models;
namespace HtmlHelpersTest.Views.Shard
{
public partial class MovieTemplate : System.Web.Mvc.ViewUserControl<Movies>
{
}
}
movie.aspx视图
<table>
<tr>
<th>Id</th><th>Title</th><th>Release Date</th>
</tr>
<% foreach (Movies m in (IEnumerable)ViewData.Model)
{
Html.RenderPartial("MovieTemplate", m);
} %>
</table>
效果和第一种方法是一样的。