2009-04-14 19 views
1

Ich verwende normalerweise das Ruby on Rails-Framework, aber für dieses Projekt muss ich mit ASP.NET MVC arbeiten und ich bin verwirrt. GrundsätzlichBeziehungen mit ASP.NET MVC

Ich habe 1 Tabelle:

Seite = (id, name, category_id)

category_id ist eigentlich ein Link zu einer Seite (eine Seite kann zu einer anderen Seite verknüpft werden). Ich habe Fremdschlüssel und alles eingerichtet, das Modell ist fertig und funktioniert.

Meine Frage ist: Wie verknüpfe ich eine Seite mit einer anderen? Wenn ich versuche, die category_id zu setzen, scheint es nicht zu funktionieren ... Gibt es eine einfache Möglichkeit, ein Dropdown-Menü aus dem Page-Modell zu erstellen und es in den Aktionen zum Erstellen/Bearbeiten meiner Anwendung zu verwenden?

Antwort

1

Sie benötigen einen Controller mit einer Aktion wie

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

haben dann ein Formular auf der Seite des HTML-Helper-Formulars unter Verwendung, mit dem Drop-Down-drin. Das Drodown sollte mit dem HTml-Helfer-Drop-down erstellt werden und sollte categoryId als ID haben. So was;

<%=Html.DropDownList("categoryId",ViewData["CategoryID"])%> 

Mit diesem in der Steuerung oder Modell für Ihre Seite mit dem Dropdown;

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

hoffte, das hilft

+0

Es ist nicht gelöst hat es aber sofort führt mich direkt zu der Lösung, die für mich funktioniert, das ist: var Kategorien = von c in _entities.PageSet c wählen; ViewData ["category_id"] = new SelectList (Kategorien, "id", "title"); <% = Html.DropDownList ("Kategorie_ID")%> – marcgg