hastiam
چهارشنبه 07 دی 1390, 00:09 صبح
سلام
من وقتی اطلاعاتی رو ویرایش می کنم دکمه ثبت ویرایش رو می زنم گفتم وقتی ویرایش انجام شد پیغام ok بده که این پیغام رو میده و هیچ خطایی هم نداره اما وقتی تو دیتابیس نگاه می کنم اون تغییرات رو اعمال نکرده دلیلش چی می تونه باشه ؟
برای یادگیری mvc از کتاب Pro asp.net mvc framwork که کاملترین کتاب در زمینه یادگیری mvc هست استفاده می کنم . برنامم به این شکله که اول یک entity به نام product ایجاد می کنم :
public class Product {
[HiddenInput(DisplayValue=false)]
public int ProductID { get; set; }
public string Name { get; set; }
[DataType(DataType.MultilineText)]
public string Description { get; set; }
public decimal Price { get; set; }
public string Category { get; set; }
}
یک اینترفیس تعریف می کنم :
public interface IProductRepository {
IQueryable<Product> Products { get; }
void SaveProduct(Product product);
}
یک کلاس به شکل زیر :
public class EFProductRepository : IProductRepository {
private EFDbContext context = new EFDbContext();
public IQueryable<Product> Products {
get { return context.Products; }
}
public void SaveProduct(Product product) {
if (product.ProductID == 0) {
context.Products.Add(product);
}
context.SaveChanges();
}
}
این هم Action :
[HttpPost]
public ActionResult Edit(Product product) {
if (ModelState.IsValid) {
repository.SaveProduct(product);
TempData["message"] = string.Format("{0} has been saved", product.Name);
return RedirectToAction("Index");
} else {
// there is something wrong with the data values
return View(product);
}
}
و در نهایت یک View ساختم این برنامه ای که نوشتم عینا تو کتاب هست برای عمل حذف یا اضافه هیچ مشکلی ندارم اما ویرایش رو تو دیتابیس ثبت نمی کنه. در حالی که وقتی برنامه رو خط به خط اجرا می کنم دقیقا مر حله به مرحله و به ترتیب انجام میشه و در نهایت پیغام ok هم میده ولی تغییرات اعمال نمیشه. :گریه:
من وقتی اطلاعاتی رو ویرایش می کنم دکمه ثبت ویرایش رو می زنم گفتم وقتی ویرایش انجام شد پیغام ok بده که این پیغام رو میده و هیچ خطایی هم نداره اما وقتی تو دیتابیس نگاه می کنم اون تغییرات رو اعمال نکرده دلیلش چی می تونه باشه ؟
برای یادگیری mvc از کتاب Pro asp.net mvc framwork که کاملترین کتاب در زمینه یادگیری mvc هست استفاده می کنم . برنامم به این شکله که اول یک entity به نام product ایجاد می کنم :
public class Product {
[HiddenInput(DisplayValue=false)]
public int ProductID { get; set; }
public string Name { get; set; }
[DataType(DataType.MultilineText)]
public string Description { get; set; }
public decimal Price { get; set; }
public string Category { get; set; }
}
یک اینترفیس تعریف می کنم :
public interface IProductRepository {
IQueryable<Product> Products { get; }
void SaveProduct(Product product);
}
یک کلاس به شکل زیر :
public class EFProductRepository : IProductRepository {
private EFDbContext context = new EFDbContext();
public IQueryable<Product> Products {
get { return context.Products; }
}
public void SaveProduct(Product product) {
if (product.ProductID == 0) {
context.Products.Add(product);
}
context.SaveChanges();
}
}
این هم Action :
[HttpPost]
public ActionResult Edit(Product product) {
if (ModelState.IsValid) {
repository.SaveProduct(product);
TempData["message"] = string.Format("{0} has been saved", product.Name);
return RedirectToAction("Index");
} else {
// there is something wrong with the data values
return View(product);
}
}
و در نهایت یک View ساختم این برنامه ای که نوشتم عینا تو کتاب هست برای عمل حذف یا اضافه هیچ مشکلی ندارم اما ویرایش رو تو دیتابیس ثبت نمی کنه. در حالی که وقتی برنامه رو خط به خط اجرا می کنم دقیقا مر حله به مرحله و به ترتیب انجام میشه و در نهایت پیغام ok هم میده ولی تغییرات اعمال نمیشه. :گریه: