2017-01-31 3 views
0

Gruß wieder Jungs. Zuerst habe ich über 20 Beiträge zu diesem Thema und mindestens 15 keine Pfahlaustauschlinks gelesen und dazu 5 eigene Fragen gestellt.Füllen von Teilansichten mit mvc

Zuerst möchte ich nur wissen, kann mvc eine Teilansicht mit dynamischen Daten füllen, während in der create view? Wenn nicht, dann war das, was ich vermutete, richtig. Dies kann nur in Webforms geschehen und ich kann diese mvc-App löschen und nur Webforms verwenden.

Wenn es jemand kann bitte zeigen, wie dies zu tun ist. Auch hier ist alles was ich habe.

mit dem Teilansicht Code besagt

_PartVue genannt, die

im freigegebenen Ordner des mvc Code hinter Ordner diese Teilansicht gebaut wurde mit Hilfe des Assistenten

<table cellpadding="1" border="1"> 
    <tr> 
     <th> 
      Field1 
     </th> 
     <th> 
      Field2 
     </th> 
     <th> 
      Field3 
     </th> 

    </tr> 

    @foreach (System.Models.DATA_LIST item in @ViewBag.List) 
    { 
     <tr> 
      <td> 
       @item.F1 
      </td> 
      <td> 
       @item.F2 
      </td> 
      <td> 
       @item.F3 
      </td> 
     </tr> 
    } 

</table> 

In der Ansicht erstellen gespeichert ist

Dies ist, wo in der Form, dass ich die Teilansicht auf dem Formular

erstellen zeigen will

Der Java-Script-Code in der erstellen Ansicht für die Liste nach einer Drop-Down-Ansicht angezeigt wird

geändert
$(document).ready(function() { 
     $('#RES_ID').change(function() 
     { 
      debugger; 

      $.get('~/Views/Shared/_PartVue.cshtml', { VID: $(this).val() }, function (data) { $('#PV_List').html(data); }); 
      $("#PV_List").show(); // Shows Partial View 


     }); 
    } 

im Controller habe ich eine Funktion, die eine Liste und eine Funktion macht die Rückkehr etwas namens verwendet PartialView:

[HttpGet] 
    public ActionResult ShowList(int? VID) 
    { 


     ViewBag.DataList = Get_List(VID); 
     return   PartialView("~/Views/Shared/_PartVue.cshtml",ViewBag.DataList); 


    } 

auch die Get List-Funktion, die die Tasche Datenansicht auffüllt

private List<LIST_DATA> GET_List(int? VID) 
    { 

     return db.LIST_DATA.Where(i => i.ID == VID).ToList(); 
    } 

Was ich von der Erstellung bekomme, sind die Felder, aber keine Daten. When ist Schritt in den Code behind ich sehe, dass die richtigen Daten ausgewählt werden, aber es geht nicht die partielle Ansichtsform.

Hier ist was ich bekomme.

Im Google-Browser ich die folgende Fehlermeldung erhalten: http://localhost:50296/PrograX/~/Views/Shared/_PartVue.cshtml?VID=808 fehlgeschlagen Ressource laden: der Server mit dem Status 403 (Forbidden)

Diese Teilansicht wird im freigegebenen Ordner reagiert ... so ist mvc mir sagen, dass es eine Teilansicht mit dynamischen Daten nicht füllen kann und dass ich Webforms verwenden muss, anstatt zu versuchen, mvc zu verwenden?

vielen Dank noch einmal. Hoffentlich kann diese Frage besser erklären, was ich versuche zu tun, und vielleicht kann ich eine bessere Anleitung bekommen, die mich darüber informiert, dass es nicht möglich ist und dass es auf dieser Plattform nicht möglich ist. Dank

+0

Sie benötigen um dies zu löschen und bearbeiten Sie Ihre [vorherige Frage] (http://stackoverflow.com/questions/41967954/how-do-you-pass-a-viewbag-to-a-partial-view).Bevor Sie weitere Fragen stellen, lesen Sie die [Hilfedateien] (http://stackoverflow.com/help) sorgfältig durch, um zu verstehen, wie Sie eine Frage auf dieser Website stellen können (die gefährlich kurz vor dem Verbot steht). –

+0

Hi @StephenMuecke was meinst du? Ich muss die Fragen löschen? Warum solltest du mich verbieten? –

+0

Ich kann dich nicht verbieten, aber das System wird wegen dir schlechter (nachgestimmter) Fragen. Und Sie können nicht einfach Fragen wiederholen. Bearbeiten Sie die vorherige mit den relevanten Details wie gewünscht, oder löschen Sie die vorherige. –

Antwort

0

Zunächst einmal können Sie angeben, welches Modell Sie wie dies in Ihrem Teilansicht verwenden möchten:

@model List <YourSolutionName.YourFolderNameWhereModelIs.YourModelName> 

dann können Sie es in foreach wie folgt verwenden:

@if(Model.Count > 0) 
{ 
foreach(var item in Model) 
{ 
     <tr> 
      <td> 
       @item.F1 
      </td> 
      <td> 
       @item.F2 
      </td> 
      <td> 
       @item.F3 
      </td> 
     </tr> 
    } 
} 
+0

Hallo und danke, Sir. Ja, das ist, was ich getan habe, da ich nicht wusste, dass Sie If-Anweisungen im HTML-Code haben könnten. Vielen Dank für Ihre Hilfe, Sir! –

+1

Am meisten Willkommen! MVC hat eine steile Lernkurve. Und vergiss nicht, den Kommentar als Antwort zu markieren, es wird allen anderen helfen, die nach der gleichen Sache suchen. –

Verwandte Themen