MVC 3プロジェクトで[HiddenInput(DisplayValue=false)]の場合、ページファイルにはその属性は非表示になりません

1319 ワード

はい.NET MVC 3 Frameworkのサンプルアイテムには、次のコードがあります.
public class Product

    {

        [HiddenInput(DisplayValue=false)]

        public int ProductID { get; set; }



        public string Name { get; set; }



        [DataType(DataType.MultilineText)]

        public string Description { get; set; }



        public decimal Price { get; set; }



        public string Category { get; set; }

    }


ここで本の意味では、[HiddenInput(DisplayValue=false)]というコードの機能はVSに、フロントページにProductID属性を隠すように伝えることです.
<h2>Edit @Model.Name</h2>



<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>

<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>



@using (Html.BeginForm()) {

        @Html.EditorForModel()

        <p>

            <input type="submit" value="Save" />

        </p>

}



<div>

    @Html.ActionLink("Back to List", "Index")

</div>


しかし、実行中にProductIDが表示された.
 
なぜなら、自分が使用するのはVS 2012であり、データ層の項目に追加するSystemであるからである.Web.Mvcの参照は4.0バージョンで、プロジェクト自体は3.0バージョンです.プロジェクトがMVC 4.0ならこの問題があるかどうか分かりません.
後日さらに検討する.