none
Wie Seriennummer (oder anderen Wert) an Partial View übergeben?

    Frage

  • Hallo,
    ich setze MVC 4 mit ASPX ein.
    Eine View 'Maschinenpark' soll eine streng typisierte Partial View 'Maschinendetails' erhalten.
    Dazu gibt es ein Objekt Maschine.

    public class Maschine
    {
      public int MaschineId { get; set; }
      public string Name { get; set; }
      public string Seriennummer { get; set; }
      public string Hersteller { get; set; }
    }

    Die Maschinen werden als Liste an die View 'Maschinenpark' zurückgegeben und auch angezeigt.
    Dafür exsitiert im Controller ein ActionResult.
    private List<Maschine> maschinen = new List<Maschine>();

    public ActionResult Maschinenpark()
    {
      this.maschinen.Add(new Maschine()
        {
          MaschineId = 0,
          Seriennummer = "D442665F7"
        });

      return this.View(this.maschinen);
    }

    In der Partial View 'Maschinendetails' will ich die Daten nur einer Maschine anzeigen, entsprechend welche Seriennummer ausgewählt wurde.


    Partial View 'Maschinendetails':
    <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<List<Test.Models.Maschine>>" %>

    In der View Maschinenpark habe ich folgenden Eintrag:
    <div><% Html.RenderPartial("Maschinendetails"); %></div>

    Durch diesen Aufruf wird die Liste mit den Maschinen an die Partial View 'Maschinendetails' übergeben.
    Das funktioniert.

    Wie kann ich aber jetzt mit dem Aufruf
    <div><% Html.RenderPartial("Maschinendetails"); %></div>
    auch eine Seriennummer übergeben, damit in der Partial View 'Maschinendetails' nur die weiteren Angaben zu dieser Maschine angezeigt werden?

     

    Alexander

    Mittwoch, 19. März 2014 17:15

Antworten

  • Hallo,
    ich habe selbst die Lösung gefunden.
    In der Teilansicht 'Maschinendetails' habe ich jetzt keine Liste mehr, sondern nur ein Objekt:
    <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<Test.Models.Maschine>" %>

    In der View Maschinenpark übergebe ich jetzt nur das aktuelle Objekt:
    <div><% Html.RenderPartial("Maschinendetails", model); %></div>


    Alexander

    • Als Antwort markiert AlexanderRi Donnerstag, 20. März 2014 15:12
    Donnerstag, 20. März 2014 15:12