asp.net MVC 는 PagedList.MVC 를 사용 하여 페이지 효 과 를 실현 합 니 다.

전편 의EF 의 DB First에서 다음 과 같은 두 가지 문제 가 존재 한다.
1.사용자 정의 이름 대신 속성 이름 을 추가/편집 합 니 다(예:이름,전공...)
2.추가/편집 시 인증 없 음
3.데이터 전시 사용 페이지
@Html.LabelFor(model=>model.Name,htmlAttributes:new{@class="control-label col-md-2"})는 속성 Name 을 표시 하 는"탭"입 니 다.디 스 플레이 기능 이 지정 되 지 않 으 면 속성 명 을 직접 표시 합 니 다 Name
유 니 버 설 데이터베이스 에서 생 성 된 실체 모델 파일 과 코드 는 일반적으로 직접 수정 하지 않 습 니 다(다음 생 성 시 덮어 쓰 는 것 방지).여 기 는 검증 과 실체 분 리 를 사용 해 야 합 니 다.
인증 클래스 를 추가 합 니 다.코드 는 다음 과 같 습 니 다.

using System.ComponentModel.DataAnnotations;

namespace Zhong.Web.Models
{
 [MetadataType(typeof(T_StudentValidateInfo))]
 public partial class T_Student
 {
 }
 public class T_StudentValidateInfo
 {
  [Display(Name="  ")]
  [Required(ErrorMessage ="      ")]
  [StringLength(10,ErrorMessage ="        ")]
  public string Name { get; set; }

  [Display(Name="  ")]
  [Required]
  [StringLength(20,MinimumLength =10,ErrorMessage ="   10-20")]
  public string StudentId { get; set; }
 }
}

이 때 프론트 데스크 에 방문 하여 제출:

위의 그림 에서 Name 이'이름'으로 바 뀌 었 고 StudentsId 가'학 번'으로 바 뀌 었 으 며 Create 버튼 을 누 르 자 검증 알림 메시지 가 나 왔 다.
페이지 를 나 누 는 실시 간 으로 PagedList.MVC 플러그 인 을 사용 합 니 다.nuget 에서 인용 을 추가 할 수 있 습 니 다.


StudentsController 에 List 컨트롤 러 를 추가 하 는 방법:

public ActionResult List(int page = 1)
{
 //var students = entities.T_Student.OrderBy(s => s.Id).Skip((page - 1) * 2).Take(2);
 var students = entities.T_Student.OrderBy(s => s.Id);
 return View(students.ToPagedList(page, 2));
}

보기 코드 는 다음 과 같 습 니 다:

@using PagedList.Mvc
@model PagedList.IPagedList<Zhong.Web.Models.T_Student>

@{
 ViewBag.Title = "List";
}

<h2>List</h2>

<p>
 @Html.ActionLink("Create New", "Create")
</p>
<table class="table">
 <tr>
  <th>
     
  </th>
  <th>
     
  </th>
  <th>
     
  </th>
  <th></th>
 </tr>

@foreach (var item in Model) {
 <tr>
  <td>
   @Html.DisplayFor(modelItem => item.Name)
  </td>
  <td>
   @Html.DisplayFor(modelItem => item.StudentId)
  </td>
  <td>
   @Html.DisplayFor(modelItem => item.T_Major.Name)
  </td>
  <td>
   @Html.ActionLink("Edit", "Edit", new { id=item.Id }) |
   @Html.ActionLink("Details", "Details", new { id=item.Id }) |
   @Html.ActionLink("Delete", "Delete", new { id=item.Id })
  </td>
 </tr>
}

</table>
@Html.PagedListPager(Model,page => Url.Action("List",new { page}))


이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기