2017-11-12 5 views
0

ASP.NET MVC 프로젝트에서 페이지 매김을 구현하고 싶습니다. 페이지에 @model PagedList.IPagedList<TestProject.Models.Test>을 넣으면 다음 오류 메시지가 나타납니다.내 ASP.NET MVC TestProject 응용 프로그램에서 페이지 매김을 구현하고 싶습니다.

Compiler Error Message: CS1061: 'IPagedList' does not contain a definition for 'FName' and no extension method 'FName' accepting a first argument of type 'IPagedList' could be found

은 내가 다음 오류 다음 부여합니다 @model IEnumerable<TestProject.Models.Test>을 넣을 때 :

@Html.PagedListPager(Model, pageNumber => Url.Action("Index", new { pageNumber }) 

Home Controller 반환

Argument 2: cannot convert from 'System.Collections.Generic.IEnumerable<TestProject.Models.Test>' to 'PagedList.IPagedList'

다음

:

public ActionResult Index(int? pageNumber) 
{ 
    TestHandle testHandle = new TestHandle(); 
    ModelState.Clear(); 
    return View(testHandle.GetAll().ToList().ToPagedList(pageNumber ?? 1, 3)); 
} 

GetAll 기능 목록 retruns

public List<Test> GetAll() 
{ 
    clsUtilities cUtils = new clsUtilities(); 
    DataSet ds; 
    List<Test> studentlist = new List<Test>(); 
    string sSQL; 
    sSQL = "exec AllPhone"; 
    ds=cUtils.GetDataSet(sSQL); 
    DataTable dt = ds.Tables[0]; 
    foreach (DataRow dr in dt.Rows) 
    { 
     studentlist.Add(
      new Test 
      { 
       Id = Convert.ToInt32(dr["Id"]), 
       FName = Convert.ToString(dr["FName"]), 
       LName = Convert.ToString(dr["LName"]), 
       Address = Convert.ToString(dr["Address"]) 
      }); 
    } 
    return studentlist; 
} 

안내해주세요. 나는 많은 연구를했지만 행운은 없다. 그래서이 오류를 게시하고 있습니다. 내가 어디로 잘못 가고 있는지 제안 해주세요. 어떤 도움을 주셔서 감사합니다.

+0

페이지 매김을 구현하려는 경우. 페이지 보이기를위한 Bootbox 플러그인을 확인하십시오. 정렬과 같은 다른 기능도 제공합니다. 게다가 사용하기 쉽습니다. –

+0

@BigSmile, Bootbox에 대한 링크를 제안 해 주시겠습니까? 어쨌든 MVC 프로젝트에서 페이지 매김을 사용하려고합니다. – Raj

답변

1

DisplayNameFor()은 컬렉션 속성으로 사용할 때 IEnumerable<T> 만 허용합니다. 모델이 IPagedList<T> 경우, 당신은이 컬렉션이 비어있는 경우에도 작동합니다

@Html.DisplayNameFor(m => m.FirstOrDefault().FName) 

주를 사용할 수 있습니다.

GET 메서드에서 ModelState.Clear();을 호출하는 것은 의미가 없으므로 제거 할 수 있습니다.

+0

도움 주셔서 감사합니다. 그것은 나를 위해 지금 일했습니다. 다시 한번 감사드립니다. – Raj