MVC-------Model层的不可或缺

在做项目中,我们一直使用的是V(View)层和C(Controllers)层,视图的加载,数据的传递,一直都是ViewController在交互,那么 M(Model)层的意义到底在哪???(我们新建一个MVC3.0应用程序)

  1. 我们这里所说的Model层,并不是我们三层设计中所提到的实体。此处的Model层是以能与用户更准确的交互事件为基础建立起来的一种模式。

 public class ChangePasswordModel

    {

        [Required]

        [DataType(DataType.Password)]

        [Display(Name = "当前密码")]

        public string OldPassword { get; set; }

 

        [Required]

        [StringLength(100, ErrorMessage ="{0} 必须至少包含 {2} 个字符。", MinimumLength = 6)]

        [DataType(DataType.Password)]

        [Display(Name = "新密码")]

        public string NewPassword { get; set; }

 

        [DataType(DataType.Password)]

        [Display(Name = "确认新密码")]

       [System.Web.Mvc.Compare("NewPassword", ErrorMessage ="新密码和确认密码不匹配。")]

        public string ConfirmPassword { get;set; }

    }

 

  1. Model的创建过程结合了两者:一者是我们常规中所说的实体,二者是实体的每个属性需要满足的格式,从而与用户进行验证交互。
  1. 那么model层又如何显示到界面上呢??
    1. 新建一个分页视图:引用相应的Model
      1. @model MvcApplication1.Models.RegisterModel

@using(Html.BeginForm()) {

    @Html.ValidationSummary(true,"密码更改不成功。请更正错误并重试。")

   

       

            帐户信息

 

           

                @Html.LabelFor(m =>m.OldPassword)

           

           

                @Html.PasswordFor(m =>m.OldPassword)

                @Html.ValidationMessageFor(m=> m.OldPassword)

           

 

           

                @Html.LabelFor(m =>m.NewPassword)

           

           

                @Html.PasswordFor(m =>m.NewPassword)

                @Html.ValidationMessageFor(m=> m.NewPassword)

           

 

           

                @Html.LabelFor(m =>m.ConfirmPassword)

           

           

                @Html.PasswordFor(m =>m.ConfirmPassword)

                @Html.ValidationMessageFor(m=> m.ConfirmPassword)

           

 

           

               

           

       

   

}

 

 

 

model层也有一些逻辑判断的内容,所以MVC的逻辑关系分的并不是特别清晰。

一点点小见解!!


你可能感兴趣的:(MVC-------Model层的不可或缺)