我希望有人能帮助我。
我使用的是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; }
我可以轻松地搭建视图。这是一个bug吗?我在文档中没有看到任何关于不支持搭建HttpPostedFileBase的信息。请参见:HttpPostedFileBase。
提前感谢。