2009-04-14 8 views
1

J'utilise généralement le framework Ruby on Rails mais pour ce projet j'ai besoin de travailler avec ASP.NET MVC et je suis confus.Relations avec ASP.NET MVC

Fondamentalement j'ai 1 table:

page = (id, nom, category_id)

category_id est en fait un lien vers une page (une page peut être lié à une autre page). J'ai mis en place des clés étrangères et tout, le modèle est en place et fonctionne.

Ma question est: Comment lier une page à une autre? Si j'essaie de définir category_id, cela ne semble pas fonctionner ... Existe-t-il un moyen simple de créer un menu déroulant à partir du modèle Page et de l'utiliser dans les actions Create/Edit de mon application?

Répondre

1

Vous avez besoin d'un contrôleur avec une action comme

public ActionResult DetailPage(int categoryId) 
{ 
    return View(new ModelObject(categoryId)); 
} 

Ensuite, un formulaire sur la page en utilisant le formulaire Helper Html, avec votre menu déroulant en elle. Le drodown devrait être fait en utilisant la liste déroulante de l'aide HTml, et devrait avoir categoryId comme son ID. Comme ça; Avec ceci dans le contrôleur ou le modèle pour votre page avec la liste déroulante;

NorthwindDataContext db = new NorthwindDataContext(); 
var categories = from c in db.Categories select c; 
ViewData["CategoryID"] = new SelectList(
    categories, "CategoryID", "CategoryName"); 

Hope this helps

+0

Il n'a pas résolu tout de suite me conduire, mais directement à la solution qui fonctionne pour moi, ce qui est: var catégories = de c à c _entities.PageSet sélectionner; ViewData ["category_id"] = new SelectList (catégories, "id", "title"); <% = Html.DropDownList ("category_id")%> – marcgg