【问题标题】:How do I create a hidden field in MVC3?如何在 MVC3 中创建隐藏字段?
【发布时间】:2011-08-09 13:50:32
【问题描述】:

我正在使用 MVC3。当我用

创建一个字段时
@Html.EditorFor(model => model.RowKey)

然后该值被发送回控制器,这正是我所需要的。但是,即使我希望将其值返回给控制器,我也不希望该字段可见。

有没有办法让 MVC3 隐藏一个字段?

【问题讨论】:

    标签: asp.net-mvc


    【解决方案1】:
    @Html.HiddenFor(model => model.RowKey)
    

    请参阅What does Html.HiddenFor do? 了解示例

    【讨论】:

      【解决方案2】:

      如果您想保留Html.EditorFor(),您可以随时将模型的特定属性标记为隐藏:

      using System.Web.Mvc.HiddenInput;
      
      public class Model
      {
          [HiddenInput(DisplayValue = false)]
          // some property
      }
      

      【讨论】:

      • 我更喜欢您的解决方案并对其进行了更新以包含有关该属性的更多详细信息。虽然我不使用只做Html.EditorForModel() 的策略并且更喜欢具体说明每个属性要包含的内容,但我只使用Html.EditorFor。我想如果我重新开始,我会使用Html.EditorForModel 并使用脚手架和属性自定义所有内容。
      • 使用这两种方法有什么根本区别吗?也许除了语法糖?
      【解决方案3】:

      这对我有用:

      @Html.EditorFor(m => m.RowKey, new { htmlAttributes = new { @style="display: none" } })
      

      【讨论】:

        【解决方案4】:

        你能像这样使用 hiddenfor 助手吗:

        @Html.HiddenFor(m => m.RowKey)
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多