• Bind 和 ScaffoldColumn


    
    
     1   今天看了music MVC源码看到这么一段代码 Bind 和 ScaffoldColumn
     2   
     3   [MetadataType(typeof(FormMetaData))]
     4   public partial class Form
     5   {
     6   [Bind(Exclude = "Uid")]
     7   public class FormMetaData
     8  {
     9  [ScaffoldColumn(false)]
    10  public object Uid { get; set; }
    11  
    12  [ScaffoldColumn(false)]
    13  public object UserId { get; set; }
    14  
    15  [ScaffoldColumn(false)]
    16  public object Timestamp { get; set; }
    17   [NotMapped]
    18  public string UserName{ get; set; } 
    19  
    20  [DisplayName("Form Name")] 
    22  [DataType(DataType.Text)] 
    24 [Required(ErrorMessage = "A name for your form is required.")]
    25 [StringLength(255, ErrorMessage = "Please ensure that the form title you enter is less than 50 characters.")]
    26 public object FormName { get; set; } 
    27 
    28 
    29  }
    30 
    31  }
    
    
    
     

    查了相关的资料,以下是相关的解释

    [Bind(Exclude = "OrderId")] 的意思是:View里的Model,在你提交给 Action时,不会绑定到Action的参数Model,默认它会绑定。

    mvc是自动双向绑定的,它会把model的数据绑定到视图,提交时,又自动把改变后的视图中的数据绑定到model,方便程序员,不用写大量的,this.txtXXX=...;

    真的是非常方便
    Exclue: 排除,一般自增的列不需要绑定。

    [ScaffoldColumn(false)]

    public int AlbumId { get; set; 

    这个[ScaffoldColumn(false)] 主要是在在编辑表单页面Edit.cshtml是否生成这个字段的隐藏域,为True就生成,为False就不生成,为true的话就生成 @Html.HiddenFor(model => model.AlbumId),否则不生成。

    [NotMapped]

    public int AlbumId { get; set; }

    不映射字段到数据库中

  • 相关阅读:
    [osg][原]自定义osgGA漫游器
    [osg]osg窗口显示和单屏幕显示
    sql中去除重复的数据 select distinct * from table
    Microsoft VBScript 运行时错误 错误 800a005e 无效使用 Null: Replace
    如何解决Access操作或事件已被禁用模式阻止
    sql 中 '' 与 null 的区别
    IsNull、rs、sum
    Access与SQL中的IsNull(),IS NULL的区别
    ASP将Table导出Excel
    ASP如何将table导出EXCEL表格
  • 原文地址:https://www.cnblogs.com/louby/p/6282059.html
Copyright © 2020-2023  润新知