আমি নিম্নলিখিত ভিউ মডেল আছে
public class ProjectVM
{
....
[Display(Name = "Category")]
[Required(ErrorMessage = "Please select a category")]
public int CategoryID { get; set; }
public IEnumerable<SelectListItem> CategoryList { get; set; }
....
}
এবং একটি নতুন প্রকল্প তৈরি করতে এবং নিয়োগের জন্য নিম্নলিখিত কন্ট্রোলার পদ্ধতিটি Category
public ActionResult Create()
{
ProjectVM model = new ProjectVM
{
CategoryList = new SelectList(db.Categories, "ID", "Name")
}
return View(model);
}
public ActionResult Create(ProjectVM model)
{
if (!ModelState.IsValid)
{
return View(model);
}
// Save and redirect
}
এবং দেখুন
@model ProjectVM
....
@using (Html.BeginForm())
{
....
@Html.LabelFor(m => m.CategoryID)
@Html.DropDownListFor(m => m.CategoryID, Model.CategoryList, "-Please select-")
@Html.ValidationMessageFor(m => m.CategoryID)
....
<input type="submit" value="Create" />
}
দৃশ্যটি সঠিকভাবে প্রদর্শিত হয় তবে ফর্মটি জমা দেওয়ার সময় আমি নিম্নলিখিত ত্রুটি বার্তাটি পাই
অবৈধ অপারেশন এক্সসেপশন: ভিউডেটা আইটেমটির মূল কীটি 'ক্যাটাগরিআইডি' রয়েছে তা 'সিস্টেম.আইটি 32' টাইপের হলেও এটি অবশ্যই 'আইনিমেবল <সিলেক্টলিস্ট আইটেম>' টাইপ হওয়া উচিত।
একই ত্রুটিটি @Html.DropDownList()পদ্ধতিটি ব্যবহার করে ঘটে এবং আমি যদি একটি ViewBagবা ব্যবহার করে নির্বাচন তালিকাটি পাস করি ViewData।