Kategorier med flere underkategorier brug af self reference table i entity framework
HejJeg er ved at lave en markedsplads i asp.net mvc. Her skal det være muligt at admin kan oprette en kategori og oprette flere underkategorier, så jeg ved faktisk ikke hvor mange kategorier der vil blive oprettet.
Jeg vil godt have at når man skal oprette en annonce vælger man en kategori, og hvis den kategori har børn bliver det vist en ny dropdown menu med de tilhørende børn. Jeg har lavet et ajax call som tager værdi fra en kategori og det bliver også vist i en ny dropdown menu.
Men spørgmålet er så hvordan ville jeg kunne lave et dynamisk ajax call, så der bliver oprettet en ny dropdown menu indtil den kategori ingen børn har? Laver man en generel metode i controller som hele tiden tjekker om den kategori har nogle børn og noget foreach loop i ajax, som hele tiden tager info fra metoden indtil der ikke findes flere kategorier??
det her mit view :
<div class="col-md-10">
@*@Html.DropDownList("CategoryId", null, htmlAttributes: new { @class = "form-control" })*@
@Html.DropDownList("CategoryId", ViewBag.CategoryId as SelectList, "Select a Category", new { id = "CategoryId", @class = "form-control" })<br />
@Html.DropDownList("Subcategory", new SelectList(string.Empty, "Value", "Text"), "Please select a Subcategory", new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.CategoryId, "", new { @class = "text-danger" })
</div>
Koden i controller :
[HttpPost]
public JsonResult CategoryList(int catId)
{
var subcategories = (from s in db.Categories where s.ParentCategoryId == catId select new SelectListItem {
Text = s.Name, Value = s.ParentCategoryId.ToString()
});
return Json(subcategories, JsonRequestBehavior.AllowGet);
}
Håber nogle kan give mig et hint i den rigtige retning