asp.net-mvc – ASP.Net [HiddenInput]数据属性在Razor中用Html.EditorForModel渲染时不起作用?

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – ASP.Net [HiddenInput]数据属性在Razor中用Html.EditorForModel渲染时不起作用?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_301_0@
我有以下型号:
  1. public class Product
  2. {
  3. [HiddenInput(DisplayValue = false)]
  4. public int ProductID { get; set; }
  5.  
  6. [required(ErrorMessage="Please enter a product name")]
  7. public string Name { get; set; }
  8.  
  9. [required(ErrorMessage="Please enter a description")]
  10. [DataType(DataType.MultilineText)]
  11. public string Description { get; set; }
  12.  
  13. [required]
  14. [Range(0.01,double.MaxValue,ErrorMessage="Please enter a positive price")]
  15. public decimal Price { get; set; }
  16.  
  17. [required(ErrorMessage="Please specify a category")]
  18. public string Category { get; set; }
  19.  
  20. public byte[] ImageData { get; set; }
  21.  
  22. [HiddenInput(DisplayValue = false)]
  23. public string ImageMimeType { get; set; }
  24. }

我引用了System.Web.Mvc和System.ComponentModel.DataAnnotations.

我在这里提出如下:

  1. <h1>Edit @Model.Name</h1>
  2.  
  3. @using (Html.BeginForm("Edit","Admin",FormMethod.Post,new { enctype = "multipart/form-data" })) {
  4. @Html.EditorForModel()
  5.  
  6. <div class="editor-lable">Image</div>
  7. <div class="editor-=field">
  8. @if (Model.ImageData == null)
  9. {
  10. @:None
  11. }
  12. else
  13. {
  14. <img width="150" height="150" src="@Url.Action("GetImage","Product",new { Model.ProductID })" />
  15. }
  16. <div>Upload new image: <input type="file" name="Image" . /></div>
  17. </div>
  18. <input type="submit" value="Save" />
  19. @Html.ActionLink("Cancel and return to List","Index")

}

问题是当[必需]注释正常工作时,[HiddenInput]字段实际上并不隐藏. html源代码甚至没有显示隐藏属性.

为什么Html.EditorForModel没有将[HiddenInput]属性应用于这些属性?有任何想法吗?

解决方法

在我的情况下,我必须将[HiddenInput]写成[HiddenInput(DisplayValue = false)]

猜你在找的asp.Net相关文章