【发布时间】:2016-02-13 20:31:58
【问题描述】:
我有课
public class Item
{
public int ItemId { get; set; }
[Required(ErrorMessage = "Category is required")]
[Range(1, int.MaxValue, ErrorMessage = "Category is required")]
public int CategoryId { get; set; }
[Display(Name = "Current password")]
[Required(ErrorMessage = "Name is required")]
[StringLength(160)]
public string Name { get; set; }
[Required(ErrorMessage = "Price is required")]
[Range(0.01, 100.00,
ErrorMessage = "Price must be between 0.01 and 100.00")]
public decimal Price { get; set; }
public virtual Category Category { get; set; }
}
在我的控制器中,我将 this 的一个实例传递给查看
public ActionResult Index()
{
var model = new Item
{
CategoryId = 1,
Name = "aaa",
Price = 2
};
return View("Index", model);
}
然后在视图中我尝试使用显示名称
@model GenericShop.Models.Item
<p>
@Html.DisplayNameFor(m => m.Name)
</p>
并得到以下错误
编译器错误消息:CS1061: 'System.Web.Mvc.HtmlHelper' 不包含 'DisplayNameFor' 的定义并且没有扩展方法 'DisplayNameFor' 接受类型的第一个参数 'System.Web.Mvc.HtmlHelper' 可以找到 (您是否缺少 using 指令或程序集引用?)
@Html.DisplayFor(m => m.Name) 工作正常,但我就是不明白为什么
@Html.DisplayNameFor(m => m.Name) 没有。
DisplayFor 显示模型项的值,DisplayNameFor 仅显示属性名称?
【问题讨论】:
标签: c# asp.net asp.net-mvc asp.net-mvc-4