2017-03-04 5 views
0

I ma versucht, eine Teilansicht zu machen, die Paginierung unterstützt. Ich möchte auf meiner Indexseite schön aussehen. Dazu muss er die Masterseite erben. Wenn ich das tue, erscheint es zweimal die Fußzeile. Ich könnte eine andere Masterseite ohne Fußzeile machen, und DRY-Prinzip ist offensichtlich gebrochen. Ganz zu schweigen davon, dass es nur für eine Seite ist.Wie wird eine Teilansicht gerendert, die die Paginierung sauber unterstützt?

Ich versuchte so PartialViewResult setzen, aber ich bin immer noch nicht das erwartete Ergebnis. Es wird ein Fehler angezeigt, da ich Paginierung verwende.

Hier ist mein Code, wenn es hilft:

public ActionResult Index(string sortOrder, string currentFilter, string searchString, int? page) 
     { 

       int pageSize = Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["NumberOfUserTasksPerPage"]); ; 
       int pageNumber = (page ?? 1); 
       return View(_userTasksTasks.ToPagedList(pageNumber, pageSize)); 
      } 
      else 
      { 
       return null; 
      } 
     } 

und die Aussicht: enter image description here

Wie gesagt, wäre eine Idee, eine andere Masterseite ähnlich dem Standard zu machen sein, aber es wird keine Fußzeile haben. Das wird der einzige Unterschied sein. Ich will es sauberer machen.

Irgendwelche Ideen?

Viel Ihre Vorschläge geschätzt, Liviu

+0

kommen kann Warum braucht es die Masterseite erben? Wenn es als Teil im Master-Layout angezeigt wird, sieht es bereits Stile und Skripts von Master .... Haben Sie es versucht, ohne die Master-Seite zu erben? – Charleh

+0

Ich denke, Sie sind verwirrt ... die Verwendung von Paginierung bedeutet nicht, dass Sie eine Layout-Seite verwenden müssen, noch bedeutet es, dass Sie eine Teilansicht nicht verwenden können. Sie können Javascript in Teilansichten nicht verwenden. Dies kann Ihr Problem sein, wenn Ihre Seitennummer JS verwendet. Versuchen Sie es mit der Methode der partiellen Ansicht, setzen Sie das Javascript jedoch stattdessen auf die Masterseite. Dies wird funktionieren, da wir viele Apps auf diese Weise implementiert haben. Wenn du JS nicht in deiner Paginierung verwendest, versuch deine ganze Seite zu posten und wir können helfen, da dies auf eine normale Art und Weise machbar ist. Du musst etwas verpassen .... – Milney

Antwort

0

Versuchen Sie, den Boden zu entfernen. Verwenden Sie JQuery oder eine andere Bibliothek, mit der Sie vertraut sind. Es ist die einzige Arbeit arround, dass ich mit

+0

Das ist keine gute Lösung, es ist ein Hack und führt zu sehr verwirrendem Code. Ich würde das nicht durch einen Code Review zulassen ... – Milney

Verwandte Themen