Please do not use the above method. Always try to use ViewModel with your views. Put all the data annotations on this ViewModel and verify that inside the action method.
Plese checking the example ViewModel below as an example.
public class ProductViewModel
{
public Guid Id { get; set; }
[Required(ErrorMessage = "required")]
public string ProductName { get; set; }
public int SelectedValue { get; set; }
public virtual ProductCategory ProductCategory { get; set; }
[DisplayName("Product Category")]
public virtual ICollection<ProductCategory> ProductCategories { get; set; }
}
Inside the action method:
[HttpPost]
public ActionResult AddProduct(ProductViewModel productViewModel)
{
var prodcutCategory = Repository.GetProductCategory(productViewModel.SelectedValue);
var prodcutCategories = Repository.GetAllProductCategories();
productViewModel.ProductCategories = prodcutCategories;
var productObj = new Product
{
ProductName = productViewModel.ProductName,
ProductCategory = prodcutCategory,
};
if (ModelState.IsValid)
{
Repository.AddProduct(productObj);
return RedirectToAction("AddProduct");
}
else
{
return View(productViewModel);
}
}
: . , .
ViewModel ASP.NET MVC?