C# Nuget MVC页面列表页面链接无法正常工作

C# Nuget MVC页面列表页面链接无法正常工作,c#,asp.net-mvc,entity-framework,C#,Asp.net Mvc,Entity Framework,我有一个简单的ViewModel,我想显示为列表页。我按照教程为我的列表页面分页。Heere是我的控制器代码,它返回带有IPagedList的视图 public ViewResult Index(int? page) { List<ProjectViewModel> projectList = new List<ProjectViewModel>(); foreach (Project project in db.Projects) {

我有一个简单的ViewModel,我想显示为列表页。我按照教程为我的列表页面分页。Heere是我的控制器代码,它返回带有IPagedList的视图

public ViewResult Index(int? page)
{
    List<ProjectViewModel> projectList = new List<ProjectViewModel>();
    foreach (Project project in db.Projects)
    {
        projectList.Add(ProjectViewModel.ConvertToProjectViewModel(project));
    }
    var pageNumber = page ?? 1;
    return View(projectList.ToPagedList(pageNumber, 3));
}
公共视图结果索引(int?页)
{
List projectList=新列表();
foreach(数据库项目中的项目)
{
projectList.Add(ProjectViewModel.ConvertToProjectViewModel(project));
}
变量pageNumber=第1页;
返回视图(projectList.ToPagedList(页码,3));
}
下面是我的视图,它也可以使用寻呼机渲染正确渲染:

@using PagedList.Mvc;
@using PagedList;
@model PagedList.IPagedList<LayoutTest.ViewModels.ProjectViewModel>

<link href="/Content/PagedList.css" rel="stylesheet" type="text/css" />

<script>
$(function() {
  $("div.progressbar2").progressbar({ value: 92 });
  $("div.progressbar").each(function () {
      var element = this;
      $(element).progressbar({
          value: parseInt($(element).attr("data-last-value")),
      });
  });
});
</script>
@foreach (var item in Model)
{
   <div class="list-container">
    <div class="list-image">
        <img src="@item.ProjectLogo" width="300" height="225"/>
    </div>
    <div class="list-title">
        @Html.DisplayFor(modelItem => item.Title)
    </div>
    <div class="list-min-container">
        <div class="list-min-left">
            Owner: TBD
        </div>
        <div class="list-min-right">
            Cost: $@Html.DisplayFor(modelItem => item.EstimatedCost)
        </div>
    </div>
    <div class="list-brief">
        @Html.DisplayFor(modelItem => item.Brief)
    </div>
    <div class="list-min-container">
        <div class="list-min-left">
                        Location - TBD
        </div>
        <div class="list-min-right">
            @Html.DisplayFor(modelItem => item.EndDate)
        </div>
    </div>
    <div class="progressbar" data-last-value="@item.StartDate.Date.Month">
        <div class="progress-label">@item.StartDate.Date.Month % complete</div>
    </div>
 </div>
}

@Html.PagedListPager( (IPagedList)Model, page => Url.Action("Index", new { page }) )
@使用PagedList.Mvc;
@使用页面列表;
@型号PagedList.IPagedList
$(函数(){
$(“div.progressbar2”).progressbar({value:92});
$(“div.progressbar”)。每个(函数(){
var元素=这个;
$(元素).progressbar({
值:parseInt($(元素).attr(“数据最后一个值”),
});
});
});
@foreach(模型中的var项目)
{
@DisplayFor(modeleItem=>item.Title)
业主:待定
成本:$@Html.DisplayFor(modelItem=>item.EstimatedCost)
@DisplayFor(modeleItem=>item.Brief)
位置-待定
@DisplayFor(modelItem=>item.EndDate)
@item.StartDate.Date.Month完成百分比
}
@PagedListPager((IPagedList)模型,page=>Url.Action(“Index”,new{page}))
但是,当我点击寻呼机导航到另一个页面时,什么也没有发生,没有错误消息或任何事情。有人遇到过类似的情况吗

编辑:

以下是PagedListPager的html输出:

 <div class="pagination PagedList-pager">
 <ul><li class="previous disabled PagedList-skipToPrevious"><a>&larr; Previous</a></li>
     <li class="active"><a>1</a></li>
     <li><a href="/Project?Page=1">2</a></li>
     <li class="next PagedList-skipToNext"><a href="/Project?Page=1">Next &rarr;</a></li>
 </ul></div>


我使用Chrome进行客户端调试,发现有一个javascript函数禁用了所有锚(默认)。由于列表实现IEnumerable,数据源很好。现在分页工作正常。代码一直都很好。以防对任何人都有帮助。

您加载了jquery和引导资源了吗?@Jasen我没有使用引导,jquery文件是从布局页面加载的。现在我开始怀疑问题出在Url.Action()方法上。我将使用PagedListPagerCheck的html输出更新我的问题,并使用浏览器的调试控制台检查网络请求。当您单击页面链接时,它会显示一个请求——您不会显示javascript来拦截这些对锚定标记的单击。接下来,我要看一看。您正在将集合分配给
List projectList
,这不是默认情况下与PagedList一起工作的
IQueryable
界面。是的,我使用Chrome完成了此操作,发现有一个javascript函数禁用了所有锚定。由于列表实现IEnumerable,数据源很好。现在分页工作正常。我会在一天内把这个作为答案发布。