저는 MVC 4 ASP.NET을 배우기 시작했습니다. MVC 뮤직 스토어라는 튜토리얼을 시작으로 사용하고 있습니다. 많은 레코드가 들어있는 'Orders'라는 데이터베이스 테이블이 있습니다. 나는 모든 주문을 테이블에 표시하기로 결정했다. 여기에 주문 모델 :ASP.NET MVC 데이터베이스 테이블 표시
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;
namespace MvcMusicStore.Models
{
[Bind(Exclude = "OrderId")]
public partial class Order
{
[ScaffoldColumn(false)]
public int OrderId { get; set; }
[ScaffoldColumn(false)]
public System.DateTime OrderDate { get; set; }
[ScaffoldColumn(false)]
public string Username { get; set; }
[Required(ErrorMessage = "First Name is required")]
[DisplayName("First Name")]
[StringLength(160)]
public string FirstName { get; set; }
[Required(ErrorMessage = "Last Name is required")]
[DisplayName("Last Name")]
[StringLength(160)]
public string LastName { get; set; }
[Required(ErrorMessage = "Address is required")]
[StringLength(70)]
public string Address { get; set; }
[Required(ErrorMessage = "City is required")]
[StringLength(40)]
public string City { get; set; }
[Required(ErrorMessage = "State is required")]
[StringLength(40)]
public string State { get; set; }
[Required(ErrorMessage = "Postal Code is required")]
[DisplayName("Postal Code")]
[StringLength(10)]
public string PostalCode { get; set; }
[Required(ErrorMessage = "Country is required")]
[StringLength(40)]
public string Country { get; set; }
[Required(ErrorMessage = "Phone is required")]
[StringLength(24)]
public string Phone { get; set; }
[Required(ErrorMessage = "Email Address is required")]
[DisplayName("Email Address")]
[RegularExpression(@"[A-Za-z0-9._%+-][email protected][A-Za-z0-9.-]+\.[A-Za-z]{2,4}",
ErrorMessage = "Email is is not valid.")]
[DataType(DataType.EmailAddress)]
public string Email { get; set; }
[ScaffoldColumn(false)]
public decimal Total { get; set; }
public List<OrderDetail> OrderDetails { get; set; }
}
}
나는 면도칼 뷰를 사용하여 데이터베이스 결과를 표시 할 수 있지만, 그것은 매우 긴 테이블의 한 페이지에 모든보기를 표시합니다.
내 질문은 페이지가 20 개의 주문을 표시하고 다음 페이지를 클릭하여 다음 20 개를 볼 수 있도록 만드는 방법이 있습니까?
using System.Data.Entity;
namespace MvcMusicStore.Models
{
public class MusicStoreEntities : DbContext
{
public DbSet<Order> Orders { get; set; }
public DbSet<OrderDetail> OrderDetails { get; set; }
}
}
컨트롤러 :
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Entity;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using MvcMusicStore.Models;
namespace Test.Controllers
{
public class OrdersController : Controller
{
private MusicStoreEntities db = new MusicStoreEntities();
//
// GET: /Orders/
public ActionResult Index()
{
return View(db.Orders.ToList());
}
}
}
이 전체 프로세스가 작동하는 방법을 알고 그냥, 그래서 난 그냥 (마이크로 소프트는 튜토리얼의 대부분이 방식을 장려 할 것) 엔티티 프레임 워크를 사용하여 '첫 번째 코드'를하고있는 중이 야 ,
@model IEnumerable<MvcMusicStore.Models.Order>
@{
ViewBag.Title = "Index";
}
<h2>Orders Overview</h2>
<br />
<div class="CSSTableGenerator" >
<table>
<tr>
<td>
@Html.DisplayNameFor(model => model.OrderId)
</td>
<td>
@Html.DisplayNameFor(model => model.OrderDate)
</td>
<td>
@Html.DisplayNameFor(model => model.Username)
</td>
<td>
@Html.DisplayNameFor(model => model.Total)
</td>
<td>
@Html.DisplayNameFor(model => model.FirstName)
</td>
<td>
@Html.DisplayNameFor(model => model.LastName)
</td>
<td>
@Html.DisplayNameFor(model => model.Address)
</td>
<td>
@Html.DisplayNameFor(model => model.City)
</td>
<td>
@Html.DisplayNameFor(model => model.State)
</td>
<td>
@Html.DisplayNameFor(model => model.PostalCode)
</td>
<td>
@Html.DisplayNameFor(model => model.Country)
</td>
<td>
@Html.DisplayNameFor(model => model.Phone)
</td>
<td>
@Html.DisplayNameFor(model => model.Email)
</td>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.OrderId)
</td>
<td>
@Html.DisplayFor(modelItem => item.OrderDate)
</td>
<td>
@Html.DisplayFor(modelItem => item.Username)
</td>
<td>
@Html.DisplayFor(modelItem => item.Total)
</td>
<td>
@Html.DisplayFor(modelItem => item.FirstName)
</td>
<td>
@Html.DisplayFor(modelItem => item.LastName)
</td>
<td>
@Html.DisplayFor(modelItem => item.Address)
</td>
<td>
@Html.DisplayFor(modelItem => item.City)
</td>
<td>
@Html.DisplayFor(modelItem => item.State)
</td>
<td>
@Html.DisplayFor(modelItem => item.PostalCode)
</td>
<td>
@Html.DisplayFor(modelItem => item.Country)
</td>
<td>
@Html.DisplayFor(modelItem => item.Phone)
</td>
<td>
@Html.DisplayFor(modelItem => item.Email)
</td>
<td>
@Html.ActionLink("Details", "Details", new { id=item.OrderId }) |
@Html.ActionLink("Delete", "Delete", new { id=item.OrderId })
</td>
</tr>
}
</table>
</div>
두 번째 질문 총 금액이 항상 테이블의 각 주문 0.0 점이다 :
이 은 면도기이다. 그러나 다른 모든 필드는 정확합니다. 팁 주셔서 감사.
데이터베이스를보고 나서 0.0 이외의 다른 것으로 저장되었는지 확인 했습니까? – Jared
데이터베이스 액세스를 위해 Entity Framework를 사용하고 있습니까? – Jared
예 System.Data.Entity를 사용하여 볼 수있는 Entity Framework를 사용하고 있습니다. 컨텍스트 모델에서. 내가 뭘 말하는지 모르겠기 때문에 데이터베이스 (SQL Server Compact Edition)를 보지 않았습니다. – user1448260