使用数据库中的数据填充kendo UI ListView

时间:2014-07-31 12:39:20

标签: asp.net-mvc-4 kendo-listview

我是Kendo UI和ASP.Net MVC4的新手。 我正在开发一个购物车项目。 我想使用数据库表中的数据填充ListView。 在数据库内部我有一个类别表,我想在ListView中显示所有类别名称和ID。 在此先感谢,请帮助我。

控制器:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using ShopCart300714.Models;
using Kendo.Mvc.UI;
using Kendo.Mvc.Extensions;

namespace ShopCart300714.Controllers
{
    public class ShopCartController : Controller
    {
        //
        // GET: /ShopCart/
        Shopping_CartEntities sc = new Shopping_CartEntities();
        public ActionResult Index()
        {

            //var cat = sc.CATEGORies.ToList();
            ViewBag.Products = sc.CATEGORies;
            return View(GetItems());
        }
        public ActionResult Product(int catID)
        {
            var prod = from p in sc.PRODUCTs
                       where p.CAT_ID == catID
                       select new
                       {
                           p.PROD_ID,
                           p.PROD_NAME,
                           p.COST
                       };
            return View(prod);

        }
        public ActionResult Products_Read([DataSourceRequest] DataSourceRequest request)
        {
            return Json(GetItems().ToDataSourceResult(request));
        }
        private static IEnumerable<CATEGORY> GetItems()
        {
            var db = new Shopping_CartEntities();
            //var categories=from c in db.CATEGORies
            //               select c
            return db.CATEGORies.Select (product => new CATEGORY
            {
                CAT_ID = product.CAT_ID,
                CAT_NAME = product.CAT_NAME,

            });
        }

    }
}

查看:

@using Kendo.Mvc.UI;
@model IEnumerable<ShopCart300714.Models.CATEGORY>
@*@{
    ViewBag.Title = "Index";
}*@

<h2>Categories</h2>
<script type="text/x-kendo-tmpl" id="template">
    <div class="product">
        <img src="@Url.Content("~/content/web/foods/")#:ProductID#.jpg" alt="#:PROD_NAME# image"/>
        <h3>#:PROD_NAME#</h3>
    </div>
</script>

<div class="demo-section">
    @(Html.Kendo().ListView<ShopCart300714.Models.CATEGORY>(Model)
        .Name("listView")
        .TagName("div")
        .ClientTemplateId("template")
        .DataSource(dataSource =>
            {
                dataSource.Read(read => read.Action("Products_Read", "ShopCart"));
                dataSource.PageSize(15);
            })
        .Pageable()
    )

0 个答案:

没有答案
相关问题