日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
【初學(xué)者指南】在ASP.NETMVC5中創(chuàng)建GridView-創(chuàng)新互聯(lián)

介紹

在這篇文章中,我們將會(huì)學(xué)習(xí)如何在 ASP.NET MVC 中創(chuàng)建一個(gè) gridview,就像 ASP.NET Web 表單中的 gridview 一樣。服務(wù)器端和客戶端有許多可用的第三方庫,這些庫能夠提供所有必需的功能,如 Web 表格中的搜索、排序和分頁等。是否包含這些功能,取決于應(yīng)用的特殊需求,例如在客戶端和服務(wù)器端提供搜索或其它功能的需求等。

十余年的百色網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)整合營銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整百色建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“百色網(wǎng)站設(shè)計(jì)”,“百色網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

可用的庫

以下是一些可用的庫和插件:

  • Grid.Mvc

  • MVCGrid.NET

  • PagedList.MVC

  • JQuery.Grid

  • JQuery Grid for ASP.NET MVC

  • JQuery DataTables

使用 jQuery 數(shù)據(jù)表

以上庫和插件都有自己的優(yōu)缺點(diǎn),其中 jQuery 數(shù)據(jù)表是個(gè)不錯(cuò)的選擇。它具有高度的靈活性,支持分頁,即時(shí)搜索,多列排序;它也支持幾乎所有可以被綁定的數(shù)據(jù)源。

例如:

  • DOM

  • JavaScript的

  • Ajax

  • Server-side processing

我最喜歡的選項(xiàng)之一是, jQuery 數(shù)據(jù)表不但支持客戶端搜索、分頁、排序等,而且還提供了一個(gè)可以在服務(wù)器端處理的選項(xiàng)。例如,一種情景是:因?yàn)閿?shù)據(jù)庫中有太多的數(shù)據(jù),所以在客戶端的進(jìn)行分頁并不是一個(gè)好選擇。表格中有百萬行數(shù)據(jù),如果用客戶端分頁功能來綁定,頁面就會(huì)由于大量的數(shù)據(jù)行處理和HTML渲染而反應(yīng)很遲鈍。

下面,我們先來看看一個(gè)利用客戶端處理的例子。我們將會(huì)實(shí)現(xiàn)一個(gè)具有搜索、排序和分頁功能的工作表,正如下圖中我們看到的:

【初學(xué)者指南】在ASP.NET MVC 5中創(chuàng)建GridView

首先,我們創(chuàng)建將會(huì)用到的數(shù)據(jù)庫和表格,打開 SQL Management Studio 并運(yùn)行以下腳本:

CREATE DATABASE [GridExampleMVC] 
 GO 
 CREATE TABLE [dbo].[Assets] ( 
     [AssetID]                   UNIQUEIDENTIFIER NOT NULL, 
     [Barcode]                   NVARCHAR (MAX)   NULL, 
     [SerialNumber]              NVARCHAR (MAX)   NULL, 
     [FacilitySite]              NVARCHAR (MAX)   NULL, 
     [PMGuide]                   NVARCHAR (MAX)   NULL, 
     [AstID]                     NVARCHAR (MAX)   NOT NULL, 
     [ChildAsset]                NVARCHAR (MAX)   NULL, 
     [GeneralAssetDescription]   NVARCHAR (MAX)   NULL, 
     [SecondaryAssetDescription] NVARCHAR (MAX)   NULL, 
     [Quantity]                  INT              NOT NULL, 
     [Manufacturer]              NVARCHAR (MAX)   NULL, 
     [ModelNumber]               NVARCHAR (MAX)   NULL, 
     [Building]                  NVARCHAR (MAX)   NULL, 
     [Floor]                     NVARCHAR (MAX)   NULL, 
     [Corridor]                  NVARCHAR (MAX)   NULL, 
     [RoomNo]                    NVARCHAR (MAX)   NULL, 
     [MERNo]                     NVARCHAR (MAX)   NULL, 
     [EquipSystem]               NVARCHAR (MAX)   NULL, 
     [Comments]                  NVARCHAR (MAX)   NULL, 
     [Issued]                    BIT              NOT NULL, 
     CONSTRAINT [PK_dbo.Assets] PRIMARY KEY CLUSTERED ([AssetID] ASC) 
 ) 
 GO

源碼中附有完整的 SQL 腳本,你可以利用它使用樣例中的數(shù)據(jù)來創(chuàng)建數(shù)據(jù)庫和表單。

現(xiàn)在,創(chuàng)建一個(gè)新的 ASP.NET MVC 5 Web 應(yīng)用程序。打開 Visual Studio 2015,點(diǎn)擊文件>>新建>>項(xiàng)目。

【初學(xué)者指南】在ASP.NET MVC 5中創(chuàng)建GridView

從對(duì)話框中跳轉(zhuǎn)到 Web,選擇 ASP.NET Web 應(yīng)用程序項(xiàng)目,然后單擊確定。

【初學(xué)者指南】在ASP.NET MVC 5中創(chuàng)建GridView

在模板中選擇 MVC,如果編寫了應(yīng)用的單元測(cè)試,請(qǐng)先做檢查,并點(diǎn)擊 OK。

我們的工程都是用基本的功能創(chuàng)建的?,F(xiàn)在,我們開始創(chuàng)建數(shù)據(jù)庫上下文類,這個(gè)類將會(huì)被 Data Access 實(shí)體框架使用。

首先,我們需要為 Asset 表創(chuàng)建一個(gè)模型,我們將會(huì)使用這個(gè)模型通過 ORM 來恢復(fù)數(shù)據(jù)。

在模型文件夾中,創(chuàng)建一個(gè)名為 Asset 的新類:

using System.ComponentModel.DataAnnotations;namespace GridExampleMVC.Models
{    public class Asset
    {        public System.Guid AssetID { get; set; }
        [Display(Name = "Barcode")]        public string Barcode { get; set; }
        [Display(Name = "Serial-Number")]        public string SerialNumber { get; set; }
        [Display(Name = "Facility-Site")]        public string FacilitySite { get; set; }
        [Display(Name = "PM-Guide-ID")]        public string PMGuide { get; set; }
        [Required]
        [Display(Name = "Asset-ID")]        public string AstID { get; set; }
        [Display(Name = "Child-Asset")]        public string ChildAsset { get; set; }
        [Display(Name = "General-Asset-Description")]        public string GeneralAssetDescription { get; set; }
        [Display(Name = "Secondary-Asset-Description")]        public string SecondaryAssetDescription { get; set; }        public int Quantity { get; set; }
        [Display(Name = "Manufacturer")]        public string Manufacturer { get; set; }
        [Display(Name = "Model-Number")]        public string ModelNumber { get; set; }
        [Display(Name = "Main-Location (Building)")]        public string Building { get; set; }
        [Display(Name = "Sub-Location 1 (Floor)")]        public string Floor { get; set; }
        [Display(Name = "Sub-Location 2 (Corridor)")]        public string Corridor { get; set; }
        [Display(Name = "Sub-Location 3 (Room No)")]        public string RoomNo { get; set; }
        [Display(Name = "Sub-Location 4 (MER#)")]        public string MERNo { get; set; }
        [Display(Name = "Sub-Location 5 (Equip/System)")]        public string EquipSystem { get; set; }        public string Comments { get; set; }        public bool Issued { get; set; }
    }
}

現(xiàn)在從解決方案資源管理器跳轉(zhuǎn)到模型文件夾,并打開 IdentityModels.cs 文件。我們將在數(shù)據(jù)庫上下文中為 Asset 表添加一個(gè)屬性,這個(gè)屬性將會(huì)成為 Asset 表的實(shí)體框架表示,用它來創(chuàng)建腳本。在 ApplicationDbContext 類中添加新的屬性:

public class ApplicationDbContext : IdentityDbContext{    public ApplicationDbContext()
        : base("DefaultConnection", throwIfV1Schema: false)
    {

    }    public DbSet Assets { get; set; }    public static ApplicationDbContext Create()
    {        return new ApplicationDbContext();
    }
}

以上是 ASP.NET identity 2.0 的默認(rèn)實(shí)體框架設(shè)置,我們通過為 Asset 表添加新的 DbSet 來擴(kuò)展它。

現(xiàn)在,在控制器文件夾中添加一個(gè)空的名為 AssetController 的控制器,這個(gè)控制器件將用于所有 Asset 的相關(guān)工作。

public class AssetController : Controller
    {        // GET: Asset
        public ActionResult Index()
        {            return View();
        }
    }

現(xiàn)在我們需要安裝用于創(chuàng)建表格的 JQuery DataTables,進(jìn)入Tools >> NuGet Package Manager >> Manage Nuget Packages for Solution,并點(diǎn)擊它。

【初學(xué)者指南】在ASP.NET MVC 5中創(chuàng)建GridView

安裝包管理器默認(rèn)是打開的,它會(huì)在你的解決方案中顯示成已安裝的 nugget 包,點(diǎn)擊瀏覽按鈕,然后搜索 JQuery DataTables 包,選擇它并檢查已安裝了 JQuery DataTables 的項(xiàng)目解決方案。在我們的案例里,我們將會(huì)以每一個(gè)需求的方式將其安裝在 GridExampleMVC web 中,然后點(diǎn)擊安裝按鈕。

【初學(xué)者指南】在ASP.NET MVC 5中創(chuàng)建GridView

Visual Studio 將會(huì)提示是否要修改解決方案,你需要點(diǎn)擊 Ok 來繼續(xù)安裝 JQuery DataTables 包。

在 nugget 包安裝成功后,我們需要在視圖中引入 jQuery DataTables 的必要的 JS 和 CSS,為此,我們需要注冊(cè) jQuery DataTables,請(qǐng)打開位于 App_Start 文件夾中的 BundleConfig.cs 文件并在 CSS 和 JS 文件的結(jié)尾處添加以下代碼:

bundles.Add(new ScriptBundle("~/bundles/datatables").Include(                        "~/Scripts/DataTables/jquery.dataTables.min.js",                        "~/Scripts/DataTables/dataTables.bootstrap.js"));

bundles.Add(new StyleBundle("~/Content/datatables").Include(          "~/Content/DataTables/css/dataTables.bootstrap.css"));

在為數(shù)據(jù)表添加了腳本和 CSS 之后,我們需要在總體布局中添加它們,默認(rèn)情況下, _Layout.cshtml 位于 Views >> Shared 中,_ViewStart.cshtml 也默認(rèn)位于這里。

【初學(xué)者指南】在ASP.NET MVC 5中創(chuàng)建GridView

在寫控制器代碼之前,我們需要為實(shí)體框架配置連接字符串,以便在操作數(shù)據(jù)庫時(shí)來連接數(shù)據(jù)庫。因此,我們的連接字符串應(yīng)該被指定給一個(gè)有效的數(shù)據(jù)源,以便我們?cè)谶\(yùn)行時(shí)應(yīng)用不會(huì)被打斷。

為了做到這一點(diǎn),請(qǐng)打開 web.config 并為數(shù)據(jù)庫提供連接字符串。在配置文件中,你會(huì)發(fā)現(xiàn)下面配置節(jié)點(diǎn)中的連接字符串,你需要在節(jié)點(diǎn)中根據(jù)你的系統(tǒng)來修改連接字符串。



    

現(xiàn)在,請(qǐng)?jiān)诳刂破髦刑砑訑?shù)據(jù)庫上下文的屬性,以便我們能夠在數(shù)據(jù)庫中執(zhí)行請(qǐng)求。

private ApplicationDbContext _dbContext;public ApplicationDbContext DbContext
{    get
    {        return _dbContext ?? HttpContext.GetOwinContext().Get();
    }    private set
    {
        _dbContext = value;
    }
}

我們將會(huì)在任何需要的控制器行為中,使用這個(gè)屬性查詢數(shù)據(jù)庫。

在檢索行為中,我們將簡單地獲取該表中的所有行,并將其傳遞給 view:

public ActionResult Index()
{    return View(DbContext.Assets.ToList());
}

我們完整的 controller 類代碼,就像這樣:

using GridExampleMVC.Models;using System.Linq;using System.Web;using System.Web.Mvc;using Microsoft.AspNet.Identity.Owin;namespace GridExampleMVC.Controllers
{    public class AssetController : Controller
    {        private ApplicationDbContext _dbContext;        public ApplicationDbContext DbContext
        {            get
            {                return _dbContext ?? HttpContext.GetOwinContext().Get();
            }            private set
            {
                _dbContext = value;
            }
        }        public AssetController()
        { 

        }        public AssetController(ApplicationDbContext dbContext)
        {
            _dbContext = dbContext;
        }        // GET: Asset
        public ActionResult Index()
        {            return View(DbContext.Assets.ToList());
        }
    }
}

現(xiàn)在來到視圖部分,在視圖部分中我們將會(huì)編寫如何以 HTML 實(shí)現(xiàn)渲染的代碼,請(qǐng)為檢索行為創(chuàng)建一個(gè)空模板(沒有模型)的視圖,然后在其中添加如下代碼:

@model IEnumerable< GridExampleMVC.Models.Asset>

    
        
            
                Assets
            
                                                                                                        Bar Code                             Manufacturer                             Model Number                             Building                             Room No                             Quantity                                                                                            @foreach (var asset in Model)                         {                                                             @asset.Barcode                                 @asset.Manufacturer                                 @asset.ModelNumber                                 @asset.Building                                 @asset.RoomNo                                 @asset.Quantity                                                      }                                                  
        
    
@section Scripts {       }

現(xiàn)在運(yùn)行這個(gè)應(yīng)用程序,你會(huì)看具有可用的排序、搜索和過濾功能的表格。但是現(xiàn)在還有一個(gè)問題,那就是這是在客戶端處理的,當(dāng)行為被調(diào)用時(shí),所有數(shù)據(jù)會(huì)被視圖渲染,這樣就會(huì)造成當(dāng)大量數(shù)據(jù)出現(xiàn)時(shí),頁面性能變慢或者頁面載入時(shí)間增加。

在下一篇文章中,我們將會(huì)學(xué)習(xí)到如何通過使用服務(wù)器端分頁、排序和過濾來使頁面呈現(xiàn)的更好。對(duì)于具有大量的數(shù)據(jù)時(shí),這是一個(gè)更好的方法。

通過本文的介紹,希望大家能夠掌握在 ASP.NET MVC 5 中創(chuàng)建 GridView 的方法。表格控件是項(xiàng)目開發(fā)中經(jīng)常用到的控件,其中以性能著稱的是FlexGrid表格控件,這是一款輕量級(jí)的高性能表格控件,加載和滾動(dòng)速度比競爭對(duì)手快10倍以上,能提供豐富的功能集,而不膨脹核心控件。

文章來源:by Ehsan Sajjad

原文鏈接:http://www.codeproject.com/Articles/1114208/Beginners-Guide-for-Creating-GridView-in-ASP-NET-M

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


文章題目:【初學(xué)者指南】在ASP.NETMVC5中創(chuàng)建GridView-創(chuàng)新互聯(lián)
文章鏈接:http://www.dlmjj.cn/article/dspecd.html