MVC3 项目中 [HiddenInput(DisplayValue=false)] 时,页面文件中并没有隐藏该属性
在.NET MVC3 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还是显示了出来。
原因在于,自己使用的是VS2012,在数据层的项目中添加的System.Web.Mvc的引用是4.0版本的,项目本身是3.0版本。不知道如果项目是MVC 4.0会不会有此问题。
有待日后进一步研究。

浙公网安备 33010602011771号