【问题标题】:MVC how to hide an ID field when creating VIEW using ScaffoldingMVC如何在使用脚手架创建VIEW时隐藏ID字段
【发布时间】:2012-06-26 11:48:02
【问题描述】:

我有一个使用 POCO T4 模板生成的类,我正在使用此代码向部分类添加一些 DataAnnotation。

我想知道:

如何隐藏字段 OptionId(在数据库中是带有 IDENTITY 的主键),因此用户不需要在视图中输入此值(但在模型中设置)。

另外我想知道[DatabaseGenerated(DatabaseGeneratedOption.Identity)] 是必需的还是带有POCO 的EF 会自动创建新ID(是IDENTITY)

namespace MyProject.Models
    {
        [MetadataType(typeof(ReOptionMetadata))]
        public partial class ReOption
        {
            private class ReOptionMetadata
            {
                [Key]
                [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
                [HiddenInput(DisplayValue = false)] // Is it correct?
                public int OptionId { get; set; }
                [Required]
                public string Name { get; set; }
                [Required]
                public string Value { get; set; }
                [Required]
                public string Description { get; set; }
                [Required]
                public string NoteInternal { get; set; }    
            }
        }
    }

【问题讨论】:

    标签: asp.net-mvc entity-framework data-annotations poco t4


    【解决方案1】:

    @Html.HiddenFieldFor(model => model.ColumnWhichContainsTheId)?

    【讨论】:

    • MODEL中可以有吗?在视图中隐藏它是没有问题的
    • 您不能在模型中隐藏 ID,因为您需要参考 ID 来更新您的模型/实体(删除、更改或类似的交互 @view)??你的目标是什么??
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-08
    • 2011-08-09
    • 2011-03-22
    • 2020-01-23
    • 2012-01-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多