如何从模型类中隐藏 MVC 4 上的标签,[HiddenInput(DisplayValue =false)] 不起作用

Posted

技术标签:

【中文标题】如何从模型类中隐藏 MVC 4 上的标签,[HiddenInput(DisplayValue =false)] 不起作用【英文标题】:How to hide a label on MVC 4 from Model class, [HiddenInput(DisplayValue =false )] not works 【发布时间】:2015-06-17 17:10:58 【问题描述】:

我用过

 [HiddenInput(DisplayValue =false )]
        public string x  get; set; 

和 结果是 标签确实出现,但值不出现。 我不希望出现。

我想从模型中隐藏它们而不是在视图中 如果需要,我希望可以访问它。

【问题讨论】:

【参考方案1】:

您可以通过使用以下方式装饰您的属性来隐藏 UI 中的属性:

[ScaffoldColumn(false)] 

编辑器模板会忽略使用此数据注释修饰的属性。

编辑: 您可能首先要检查是否已包含 HiddenInput 的命名空间或使用完全限定名称:

[System.Web.Mvc.HiddenInput(DisplayValue = false)]

另外,尝试使用一个单独的视图模型类,只包含你需要显示的属性。

【讨论】:

这不工作,我把这继续等于。 我已经读过这确实适用于 mvc 3 但我使用的是 mvc 4。然后我明白了。 这不是我想要的解决方案,但它有效.... [Display(Name ="") ] [System.Web.Mvc.HiddenInput(DisplayValue = false)]【参考方案2】:

如果您在剃刀视图中使用以下内容:

    @html.EditorForModel()

它会自动隐藏属性标签并隐藏任何带有注释的属性:

     [HiddenInput(DisplayValue = false)]

【讨论】:

以上是关于如何从模型类中隐藏 MVC 4 上的标签,[HiddenInput(DisplayValue =false)] 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

如何修复 mvc 中日期时间属性上的“字段必须是日期”

如何从模型获取数据到 JavaScript MVC 4?

MVC 4如何将模型属性列表从视图传递给Action

如何将隐藏字段值访问到私有方法中?

如何从 _Layout.cshtml 页面隐藏页面上的特定元素

PHP MVC 最佳实践 - 将 Session 变量从控制器传递给模型类或直接在模型中访问