سلام استاد
من درج محصولم کار میکرد بعد از اینکه ویرایش محصول رو کدهارو نوشتم هم درج محصول و هم ویرایش محصول به ارور برخورد کردم و کلی هم چک کردم ولی چیزی متوجه نشدم ممنون میشم راهنماییم کنید.
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Entity;
using System.IO;
using System.Linq;
using System.Net;
using System.Web;
using System.Web.Mvc;
using DataLayer;
using InsertShowImage;
using KooyWebApp_MVC.Classes;
namespace Booklish.Areas.Admin.Controllers
{
public class ProductsController : Controller
{
private MyEShopEntities db = new MyEShopEntities();
// GET: Admin/Products
public ActionResult Index()
{
return View(db.Products.ToList());
}
// GET: Admin/Products/Details/5
public ActionResult Details(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
Products products = db.Products.Find(id);
if (products == null)
{
return HttpNotFound();
}
return View(products);
}
// GET: Admin/Products/Create
public ActionResult Create()
{
ViewBag.Groups = db.Product_Groups.ToList();
return View();
}
// POST: Admin/Products/Create
// To protect from overposting attacks, please enable the specific properties you want to bind to, for
// more details see https://go.microsoft.com/fwlink/?LinkId=317598.
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "ProductID,ProductTitle,ShortDesciption,Text,Price,ImageName,CreateDate")] Products products, List<int> selectedGroups,HttpPostedFileBase imageProduct, string tags)
{
if (ModelState.IsValid)
{
if (selectedGroups==null)
{
ViewBag.ErrorselectedGroup = true;
ViewBag.Groups = db.Product_Groups.ToList();
return View(products);
}
products.ImageName = "Default.jpg";
if (imageProduct != null && imageProduct.IsImage())
{
products.ImageName = Guid.NewGuid().ToString() + Path.GetExtension(imageProduct.FileName);
imageProduct.SaveAs(Server.MapPath("/Images/ProductImages/"+products.ImageName));
ImageResizer img=new ImageResizer();
img.Resize(Server.MapPath("/Images/ProductImages/" + products.ImageName),
Server.MapPath("/Images/ProductImages/Thumb/" + products.ImageName));
}
products.CreateDate = DateTime.Now;
db.Products.Add(products);
foreach (int selectedGroup in selectedGroups)
{
db.Products_Selected_Groups.Add(new Products_Selected_Groups()
{
ProductID = products.ProductID,
GroupID = selectedGroup
});
}
if (!string.IsNullOrEmpty(tags))
{
string[] tag = tags.Split(',');
foreach (string t in tag)
{
db.Product_Tags.Add(new Product_Tags()
{
ProductID = products.ProductID,
Tag = t.Trim()
});
}
}
db.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.Groups = db.Product_Groups.ToList();
return View(products);
}
// GET: Admin/Products/Edit/5
public ActionResult Edit(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
Products products = db.Products.Find(id);
if (products == null)
{
return HttpNotFound();
}
ViewBag.SelectedGroups = products.Products_Selected_Groups.ToList();
ViewBag.Groups = db.Product_Groups.ToList();
ViewBag.Tags = string.Join(",", products.Product_Tags.Select(T => T.Tag).ToList());
return View(products);
}
// POST: Admin/Products/Edit/5
// To protect from overposting attacks, please enable the specific properties you want to bind to, for
// more details see https://go.microsoft.com/fwlink/?LinkId=317598.
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit([Bind(Include = "ProductID,ProductTitle,ShortDesciption,Text,Price,ImageName,CreateDate")] Products products, List<int> selectedGroups, HttpPostedFileBase imageProduct, string tags)
{
if (ModelState.IsValid)
{
if (imageProduct != null && imageProduct.IsImage())
{
if (products.ImageName!= "Default.jpg")
{
System.IO.File.Delete(Server.MapPath("/Images/ProductImages/"+products.ImageName));
System.IO.File.Delete(Server.MapPath("/Images/ProductImages/Thoumb/"+products.ImageName));
}
products.ImageName = Guid.NewGuid().ToString() + Path.GetExtension(imageProduct.FileName);
imageProduct.SaveAs(Server.MapPath("/Images/ProductImages/" + products.ImageName));
ImageResizer img = new ImageResizer();
img.Resize(Server.MapPath("/Images/ProductImages/" + products.ImageName),
Server.MapPath("/Images/ProductImages/Thumb/" + products.ImageName));
}
db.Entry(products).State = EntityState.Modified;
db.Product_Tags.Where(t=>t.ProductID==products.ProductID).ToList().ForEach(t=> db.Product_Tags.Remove(t));
if (!string.IsNullOrEmpty(tags))
{
string[] tag = tags.Split(',');
foreach (string t in tag)
{
db.Product_Tags.Add(new Product_Tags()
{
ProductID = products.ProductID,
Tag = t.Trim()
});
}
}
db.Products_Selected_Groups.Where(g=>g.ProductID==products.ProductID).ToList().ForEach(g=>db.Products_Selected_Groups.Remove(g));
foreach (int selectedGroup in selectedGroups)
{
db.Products_Selected_Groups.Add(new Products_Selected_Groups()
{
ProductID = products.ProductID,
GroupID = selectedGroup
});
}
db.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.SelectedGroups =selectedGroups;
ViewBag.Groups = db.Product_Groups.ToList();
ViewBag.Tags = tags;
return View(products);
}
// GET: Admin/Products/Delete/5
public ActionResult Delete(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
Products products = db.Products.Find(id);
if (products == null)
{
return HttpNotFound();
}
return View(products);
}
// POST: Admin/Products/Delete/5
[HttpPost, ActionName("Delete")]
[ValidateAntiForgeryToken]
public ActionResult DeleteConfirmed(int id)
{
Products products = db.Products.Find(id);
db.Products.Remove(products);
db.SaveChanges();
return RedirectToAction("Index");
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
db.Dispose();
}
base.Dispose(disposing);
}
}
}
کد کنترلر رو هم چک کردم
سلام
این مشکل چندین دلیل میتونه داشته باشه
متن خطا را سرچ کنید
متن خطا رو هم سرچ کردم چیز خاصی پیدا نکردم
کد ها هم به نظر درست میان
باید دیباگ کنید
استاد یه هفته اس این ارور منو درگیر کرده اگه امکانش هست انی دسک بدم کمکم کنید ممنون
خیر متاسفانه امکان ریموت ندارم
ولی اگر خواستید میتونید کلاس رفع اشکال بگیرید
در تلگرام به شماره 09197070750 پیام بدید تا براتون رزرو کنند
درست کردم.