Редактировать атрибуты в MVC 5 - PullRequest
0 голосов
/ 03 мая 2018

Я хочу отредактировать некоторые атрибуты базы данных, но есть проблема Это код контроллера

  [HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult Edit([Bind(Include = "Product_ID,Product_Name,Product_Price,Product_Date,Product_Image," +
        "Product_Description,Product_Discount,Category_ID,Supply_ID")] Product product, HttpPostedFileBase photo)
    {
        if (ModelState.IsValid)
        {
            if (photo != null)
            {
                if (!isValidContentType(photo.ContentType))
                {
                    ViewBag.Error = "Error";
                    return View();
                }
                else
                {
                    var fileName = new FileInfo(photo.FileName);
                    photo.SaveAs(Server.MapPath("~/Images/" + fileName));
                    product.Product_Image = photo.FileName;
                }
            }
            else
                return RedirectToAction("Index");

            db.Entry(product).State = EntityState.Modified;
            db.SaveChanges();
             return RedirectToAction("Index");             
        }  
        ViewBag.Category_ID = new SelectList(db.Categories, "Category_ID", "Category_Name", product.Category_ID);
        ViewBag.Supply_ID = new SelectList(db.Supplies, "Supply_ID", "Supply_Name", "Supply_Address");

         return View(product);
    }

Хочу, когда не меняю картинку. Другие атрибуты все еще меняются. Этот код сейчас, когда я не изменяю изображение, а другие атрибуты все равно не меняются. Пожалуйста, помогите мне исправить. Спасибо

1 Ответ

0 голосов
/ 03 мая 2018

Решение, попробуйте:

[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit([Bind(Include = "Product_ID,Product_Name,Product_Price,Product_Date,Product_Image," +
    "Product_Description,Product_Discount,Category_ID,Supply_ID")] Product product, HttpPostedFileBase photo)
{
    if (ModelState.IsValid)
    {
        if (photo != null)
        {
            if (!isValidContentType(photo.ContentType))
            {
                ViewBag.Error = "Error";
                return View();
            }
            else
            {
                var fileName = new FileInfo(photo.FileName);
                photo.SaveAs(Server.MapPath("~/Images/" + fileName));
                product.Product_Image = photo.FileName;
            }
        }          

        db.Entry(product).State = EntityState.Modified;
        db.SaveChanges();
         return RedirectToAction("Index");             
    }  
    ViewBag.Category_ID = new SelectList(db.Categories, "Category_ID", "Category_Name", product.Category_ID);
    ViewBag.Supply_ID = new SelectList(db.Supplies, "Supply_ID", "Supply_Name", "Supply_Address");

     return View(product);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...