【发布时间】:2018-04-03 06:52:42
【问题描述】:
我制作了一个表单,用户可以在其中输入所有详细信息。就像填表一样。填完表格后。当用户单击保存按钮时,它应该自动移动到同一控制器中的其他操作方法。并且必须在 MVC 的 GRID VIEW 中显示数据。在网格视图中,用户可以在填写表格时更新和保存他输入的所有数据。 我使用了 DB 优先方法。并制作一个视图模型类。这是View Model类的代码。
public class ViewModel
{
[Required(ErrorMessage = "Please Enter Prodcut Name")]
[DisplayName("Product Name")]
public string Product_Name { get; set; }
[Required(ErrorMessage = "Please Choose Category")]
public int SelectedValue { get; set; }
[Required(ErrorMessage = "Enter Price")]
[DisplayName("Enter Price")]
public decimal Price { get; set; }
[Required(ErrorMessage = "Choose Picture")]
[DisplayName("Choose Picture")]
public string Picture { get; set; }
[Required(ErrorMessage = "Choos Country")]
public Nullable<int> Country_ID { get; set; }
[Required(ErrorMessage = "Choose Type")]
[DisplayName("Choose Product Type")]
public string Product_Type { get; set; }
public SelectList CategoryList { get; set; }
public SelectList CountryList { get; set; }
[Required(ErrorMessage = "Select Date")]
public DateTime Date { get; set; }
}
控制器代码
ProductionEntities DBContext = new ProductionEntities();
public ActionResult Index()
{
ViewModel model = new ViewModel();
List<tblCategory> CategoryList = DBContext.tblCategories.ToList();
model.CategoryList = new SelectList(CategoryList, "Category_ID", "Category_Name");
List<tblCountry> CountryList = DBContext.tblCountries.ToList();
model.CountryList = new SelectList(CountryList, "Country_ID", "Country_Name");
return View(model);
}
[HttpPost]
public ActionResult Index(ViewModel model)
{
//ViewModel v = new ViewModel();
//if (image1!=null)
//{
// model.Picture = new byte[image1.ContentLength];
// image1.InputStream.Read(model.Picture, 0, image1.ContentLength);
//}
List<tblCategory> CategoryList = DBContext.tblCategories.ToList();
model.CategoryList = new SelectList(CategoryList, "Category_ID", "Category_Name");
List<tblCountry> CountryList = DBContext.tblCountries.ToList();
model.CountryList = new SelectList(CountryList, "Country_ID", "Country_Name");
if (!ModelState.IsValid)
{
tblProduct product = new tblProduct();
product.Category_ID = model.SelectedValue;
product.Country_ID = model.Country_ID;
product.Price = model.Price;
product.Product_Name = model.Product_Name;
product.Date = model.Date;
product.Picture = model.Picture;
product.Product_Type = model.Product_Type;
try
{
DBContext.tblProducts.Add(product);
DBContext.SaveChanges();
}
catch (DbEntityValidationException dbEx)
{
foreach (var validationErrors in dbEx.EntityValidationErrors)
{
foreach (var validationError in validationErrors.ValidationErrors)
{
System.Console.WriteLine("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage);
}
}
}
}
return View(model);
}
【问题讨论】:
标签: javascript c# asp.net-mvc gridview