看ASP.NET MVC3 自己总结的一些细节

来源:互联网 发布:无锡中卫软件 编辑:程序博客网 时间:2024/06/06 06:32

      MODEL 模型(例:我们在三层中的模型层一样,不过多了一个上下文操作对象(继承自DbContext),不过可以在此对字段进行验证  [Required(ErrorMessage = "必须输入父类ID")]  )。

       VIEW   视图 (视图页面,像我们三层中的UI层一样,只管展示。)

      Controller 控制器(像我们的三层中的BLL一样,对数据库的操作和控制跳转到那个页面。)

      下面就以一个简单的例子来记录从中得到的一点收获(CURD),增加对MVC的认知。还没有用到(ADO.NET实体数据模型)

      1.先新建一个模型(在Model文件夹上面新建一个类).

 /// <summary>    /// 实体类    /// </summary>    [Table("Category")]//对应表名    public class CategoryModels    {        public int Id { get; set; }        [Required(ErrorMessage = "必须输入分类名称")] //验证规则         public string Categoryname { get; set; }        [Required(ErrorMessage = "必须输入父类ID")]  //验证规则         public int Followid { get; set; }    }    /// <summary>    /// 上下文操作对象    /// </summary>    public class CategoryModelsDBContext : DbContext    {        /// <summary>        /// 初始化        /// </summary>        static CategoryModelsDBContext()        {            Database.SetInitializer<CategoryModelsDBContext>(null);        }        public DbSet<CategoryModels> Category { get; set; }    }
    2.建立控制器(在Controller上面新建一个控制器(一般是实体类名在Controller))

      a. 先要引用实体类的命名空间

      b.列表页

        //分类的上下文        CategoryModelsDBContext db = new CategoryModelsDBContext();        public ActionResult Index()        {            var categorys = (from a in db.Category                            select a).ToList();            return View(categorys);//返回所有        }
     c.在Index()方面上面,增加对应视图(选择强类型的视图,类选择对应的)

     

    d.列表的Index.cshtml中可以看到

@foreach (var item in Model) {    <tr>        <td>            @Html.ActionLink("编辑", "Edit", new { id=item.Id }) |            @Html.ActionLink("详细", "Detail", new { id=item.Id }) |            @Html.ActionLink("删除", "Delete", new { id=item.Id })                    </td>        <td>            @item.Categoryname        </td>        <td>            @item.Followid        </td>    </tr>}
后面是增加,查看详细,删除的操作了。。。。