2016-08-03 5 views
0

Wenn Sie das Nuget-Paket Mvc.PagedList.Mvc verwenden, sehe ich, dass eine neue Seite jedes Mal gerendert wird, wenn ich eine neue Seite auswähle. Wie ist es möglich, dieselbe Position auf der Seite beizubehalten, wenn die Seite aktualisiert wird?So definieren Sie einen Anker in PagedList.Mvc "Htm.PagedListPager"

Ich bin mir einer Technik bewusst, die meines Erachtens chaotisch ist, nämlich eine Eigenschaft in meinem View-Modell zu haben, die speichert, ob die Index-Aktion vom Pager oder von irgendetwas anderem (form submit oder external link) aufgerufen wurde Verwenden Sie jQuery, um beim Laden der Seite zum Speicherort zu springen. Es ist nicht nur unordentlich, sondern der Benutzer sieht jedes Mal, wenn eine neue Seite aufgerufen wird, einen "hässlichen" Sprung. Gibt es eine Möglichkeit, einen Anker in die "Html.PagedListPager" -Anweisung aufzunehmen?

@Html.PagedListPager(list: Model.ApplicantTable, 
    generatePageUrl: page => Url.Action(actionName: "Index", 
    routeValues: new 
    { 
     page = page, 
     SelectedCampus = Model.SelectedCampus, 
     Area = "Applicants" 
    } 
)) 

Antwort

0

Meine Augen waren auf die äußere Funktion „PagedListPager“ gezogen und so verpasste ich die innere Funktion „Url.Action“. Es dämmerte mir, dass ich den Anker zum Ende der "Url.Action" hinzufügen konnte.

Der Bildschirm springt, wenn die Seite rendert und zum Anker bewegt, aber der Code ist zumindest sauberer.

Verwandte Themen