Asp.net mvc 5 正在作为null传入的模型

Asp.net mvc 5 正在作为null传入的模型,asp.net-mvc-5,entity-framework-6,Asp.net Mvc 5,Entity Framework 6,当尝试向数据库添加新项时(使用EF 6.1.3和MVC 5),我的模型总是以null形式传入。模型如下: using System.ComponentModel.DataAnnotations; using System.Web; namespace AccessorizeForLess.ViewModels { public class AddNewProductViewModel { public string Name { get; set; }

当尝试向数据库添加新项时(使用EF 6.1.3和MVC 5),我的模型总是以null形式传入。模型如下:

using System.ComponentModel.DataAnnotations;
using System.Web;

namespace AccessorizeForLess.ViewModels
{
    public class AddNewProductViewModel
    {
        public string Name { get; set; }

        [DataType(DataType.MultilineText)]
        public string Description { get; set; }

        public decimal Price { get; set; }

        public string AltText { get; set; }

        public int Quantity { get; set; }

        public string ImagePath { get; set; }

        public HttpPostedFileBase Image { get; set; }
    }
}
这里是控制器中的create方法(我知道它是convulus的,但我会处理它)

我已经过了一步,所有的变量都是正确的,它将数据添加到数据库中,但不保存图像,我一辈子都不知道为什么?

替换:

public async Task<ActionResult> Create([Bind(Include="ProductImageId,ProductName,ProductPrice,Quantity,ProductDescription")] AddNewProductViewModel model)
public异步任务创建([Bind(Include=“ProductImageId,ProductName,ProductPrice,Quantity,ProductDescription”)]AddNewProductViewModel)
与:

公共异步任务创建([Bind(Include=“ImagePath,AltText,Name,Price,Quantity,Description”)]AddNewProductViewModel) 更换:

public async Task<ActionResult> Create([Bind(Include="ProductImageId,ProductName,ProductPrice,Quantity,ProductDescription")] AddNewProductViewModel model)
public异步任务创建([Bind(Include=“ProductImageId,ProductName,ProductPrice,Quantity,ProductDescription”)]AddNewProductViewModel)
与:

公共异步任务创建([Bind(Include=“ImagePath,AltText,Name,Price,Quantity,Description”)]AddNewProductViewModel)
您是将模型保存为
null
还是仅保存其属性?注意:您还需要在表单标记中添加
enctype=“multipart/form data”
,以便发布文件输入back@StephenMuecke检查我的编辑,看看你的想法。以前从未见过这样的图片。阅读图片有点困难-你可以删除它,并在问题中包含相关的错误信息吗。但这一错误何时发生?是在你点击返回视图(“索引”)的时候吗?-这实际上毫无意义,因为它应该是
返回视图(model)@StephenMuecke我在帖子中添加了错误消息Bit hard to help-仍然不确定您的问题是什么?当您点击
Create()
方法时,模型是否为空?什么时候会发生这种错误?(在第一行上放一个断点,并逐步检查代码以确定其发生的位置)您是将模型保存为
null
还是仅保存其属性?注意:您还需要在表单标记中添加
enctype=“multipart/form data”
,以便发布文件输入back@StephenMuecke检查我的编辑,看看你的想法。以前从未见过这样的图片。阅读图片有点困难-你可以删除它,并在问题中包含相关的错误信息吗。但这一错误何时发生?是在你点击返回视图(“索引”)的时候吗?-这实际上毫无意义,因为它应该是
返回视图(model)@StephenMuecke我在帖子中添加了错误消息Bit hard to help-仍然不确定您的问题是什么?当您点击
Create()
方法时,模型是否为空?什么时候会发生这种错误?(在第一行上放一个断点,并逐步遍历代码以确定其发生的位置)
string file = model.Image.FileName;
string path = Server.MapPath(@"~/Content/ProductImages");
 model.Image.SaveAs(path + "/" + file);
public async Task<ActionResult> Create([Bind(Include="ProductImageId,ProductName,ProductPrice,Quantity,ProductDescription")] AddNewProductViewModel model)
public async Task<ActionResult> Create([Bind(Include = "ImagePath,AltText,Name,Price,Quantity,Description")] AddNewProductViewModel model)