我希望有人可以帮助我。
我正在使用 VS 2012 和 MVC4。
我正在使用HttpPostedFileBase使用强类型模型测试一个项目。当我尝试搭建视图时,它失败了:
---------------------------
Microsoft Visual Studio
---------------------------
Unable to retrieve metadata for 'ImageTest.Models.ImageHandler'. Value cannot be null.
Parameter name: key
---------------------------
OK
---------------------------
我已尝试按照网上一些帖子中的建议卸载然后重新安装 MVC,但这并没有帮助。这是我的模型:(是的,我在 Id 上尝试过 [Key],但没有区别)
using System;
using System.Web;
using System.Linq;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
namespace ImageTest.Models
{
public class ImageHandler
{
public int Id { get; set; }
public string ImageName { get; set; }
public HttpPostedFileBase File { get; set; }
}
}
我认为这可能是一个上下文问题,但如果我创建自定义上下文或使用预定义的上下文无关紧要,我会得到相同的错误。这是预定义的上下文:
using ImageTest.Models;
using System.Data.Entity;
public class ImageHandlerContext : DbContext
{
public ImageHandlerContext() : base("DefaultConnection")
{
}
public DbSet<ImageHandler> ImageHandler { get; set; }
}
作为测试,如果我注释掉:
// public HttpPostedFileBase File { get; set; }
我可以毫无问题地搭建视图。这是一个错误吗?我在文档中看不到不支持脚手架 HttpPostedFileBase 的任何地方。请参阅:HttpPostedFileBase
提前致谢。