Ciao,
hai provato a seguire questo tutorial http://www.asp.net/mvc/tutorials/mvc-5/introduction/getting-started ?
è ben fatto, e ti spiega tutte le cose che ti servono per iniziare con MVC.
a te sostanzialmente servirà un modello (viewModel), che rappresenti le categorie e per ogni categoria la lista delle sotto categorie, ti do un indizio:
public class Category
{
public string Name { get; set; }
public List<SubCategory> SubCategories { get; set; }
}
public class SubCategory
{
public string Name { get; set; }
}
se la sotto categoria è poi in realtà la stessa entità categoria (Category), puoi anche fare così:
public class Category
{
public string Name { get; set; }
public List<Category> Childs { get; set; }
}
dipende se la sotto categoria ha proprietà diverse o meno. In realtà questa struttura permette livelli infiniti, infatti di solito si presta per essere utilizzata per una visualizzazione a tree-view con numero indefinito di livelli, ma può essere tranquillamente utilizzata anche per soli due livelli fissi, te lo detto prima di tutto conta che proprietà ti servono, se ti serve una descrizione e un id, l'ultima che ti ho scritto va benone.
Per vederla in una pagina razor, ti lascio leggere il tutorial, vedrai che dovrai avere un Action di un Controller, che ritorna come Model una List<Category>, poi nella pagina razor, avrai a disposizione @Model all'interno di razor per potere ciclare la lista e accedere alle proprietà del tuo modello fortemente tipizzato:
@model IEnumerable<Category>
@foreach (var item in Model) {
<div>@Html.DisplayFor(modelItem => item.Name)</div>
}
Michael Denny | Microsoft Visual C# MVP
http://blogs.dotnethell.it/Regulator/
http://dennymichael.net
http://mvp.microsoft.com/mvp/Michael%20Denny-5000735
Twitter: @dennymic