Cześć Uczę się dodawać obrazki do stron i mam taki problem wiecie czemu File daje null ?
@model Sklep.ViewModels.EditProductViewModel
<div class="form-group">
@Html.LabelFor(m => m.Product.ImagePath, new { @class = "col-md-2 control-label" })
<div class="col-md-10">
<input type="file" name="File" id="File"/>
</div>
</div>
[HttpGet]
[Authorize(Roles = "User,Admin")]
public ActionResult AddProduct()
{
var categories = db.Categories.ToList();
var product = new Product();
EditProductViewModel vm = new EditProductViewModel()
{
Product = product,
Categories = categories
};
return View(vm);
}
[HttpPost]
[Authorize(Roles = "Admin,User")]
public ActionResult AddProduct(EditProductViewModel vm)
{
if (ModelState.IsValid)
{
if (vm.File != null)
{
vm.File.SaveAs(HttpContext.Server.MapPath("~/Images/")
+ vm.File.FileName);
vm.Product.ImagePath = vm.File.FileName;
}
Product product = vm.Product;
var userId = User.Identity.GetUserId();
product.UserName = UserManager.Users.FirstOrDefault(x => x.Id == userId).UserName;
db.Products.Add(product);
db.SaveChanges();
TempData["message"] = string.Format("Dodano {0}", product.Name);
return RedirectToAction("Index", "Home");
}
else
{
var categories = db.Categories.ToList();
vm.Categories = categories;
return View(vm);
}
public class EditProductViewModel
{
public Product Product { get; set; }
public IEnumerable<Category> Categories { get; set; }
public IEnumerable<SelectListItem> CategoryItems
{
get
{
var allItems = Categories.Select(f => new SelectListItem
{
Value = f.CategoryId.ToString(),
Text = f.Name
});
return allItems;
}
}
public HttpPostedFileBase File { get; set; }
}