2016-04-22 3 views
1

Ich bin neu in MVC, von einem .NET Web Forms Hintergrund mit C# kommen. Ich arbeite an einer Magazin-Abonnement-App in MVC mit Razor, wo ich nur Text aus einer gespeicherten Prozedur in ein paar Tabellenzellen in meiner Sicht auffüllen muss. Ich möchte dies mit Datensätzen erreichen, so wie die Anwendung derzeit eingerichtet ist. Ich kann einfach nicht herausfinden, wie ich die gespeicherte Prozedur in meiner Modellklasse aufrufen soll, und hier brauche ich Hilfe. Hier ist, was ich bisher:MVC Newbie: Anruf gespeicherte Prozedur Datensatz in Sicht ohne Entity Framework

MagazineController.cs

public ActionResult GetUser() 
{ 
    return PartialView("UserSubscription") 
} 

Modell - Subscription.cs

Namespace Magazine_Portal.Models 
{ 
    public class UserSubscription 
    { 
     public string UserName {get; set;} 
     public string MagazineName {get; set;} 
     public DateTime SubscriptionDate {get; set;} 
    } 
} 

ich die gespeicherte Prozedur geschrieben haben (MagazinePortalTransfer.GetUserDetails) und es gibt drei Spalten, die haben Mehrere Zeilen, die 3 Spalten sind "FullName", "MagazineName" und "Date". Also nehme ich an, dass ich die gespeicherte Prozedurklasse schreiben müsste, die auf IList verweist, oder irre ich mich damit? Meine Verbindungszeichenfolge ist ebenfalls eingerichtet, so dass es funktioniert.

Meine andere Frage ist, wie gehe ich zum Festlegen der Tabellenzelle Werte in der Ansicht, um den Text aus der Datenbank anzuzeigen? @Html.DisplayFor('something') oder kann der Controller mit dem Modell durch Referenzierung using Magazine_Portal.Models in meiner Baugruppe verbinden, dann verwenden Sie @Model.obj aus meiner Sicht?

Vielen Dank im Voraus für jede Hilfe, ich bin in den meisten Fällen versucht herauszufinden, wie Sie die gespeicherte Prozedur und ihre Werte innerhalb der Anwendung erfolgreich aufrufen. Jede Hilfe würde sehr geschätzt werden!

Antwort

0

Zuerst sollte Ihr Modell in der Ansicht eine Sammlung sein. Sie können die Sammlung in der Aktion füllen, die die Ansicht aufruft.

public ActionResult GetView(){ 
    var collection = MethodeToFillCollection(); 

    return View("ViewName", collection) 

} 
Verwandte Themen