1. 程式人生 > >[譯]MVC網站教程(四):MVC4網站中整合jqGrid表格外掛(系列完結)

[譯]MVC網站教程(四):MVC4網站中整合jqGrid表格外掛(系列完結)

目錄

1.介紹

2.軟體環境

介紹

MVC網站教程”系列的目的是教你如何使用 ASP.NET MVC 建立一個基本的、可擴充套件的網站。

4)MVC網站教程(四):MVC4網站中整合jqGrid表格外掛(涉及技術:AJAXJSONjQueryLINQ和序列化)

系列的第一篇文章主要講解如何去建立一個支援多語言的MVC網站,同時也講解了使用者認證和註冊機制的實現。使用了微軟的Entity Framework框架和LINQ查詢技術。

系列的第二篇文章,提出了詳細的異常管理規則並在ASP.NET MVC網站中實現異常管理,還提供一些通用的日誌記錄和異常管理的原始碼。這些原始碼不僅可以在任何ASP.NET

網站中被重用(或經過比較小的改動適用),而且可以重用到任何.NET專案中。

系列的第三篇文章“動態佈局和站點管理”,通過AJAXjqGrid,自定義操作結果,控制器擴充套件,HTML幫助器和一些通用的C#原始碼和JavaScript指令碼實現了站點動態佈局和站點管理,這些功能支援擴充套件和重用到其他專案中。

系列的第四篇(即本文),將詳細介紹使用AJAXJSONjQueryLINQ和序列化技術將jqGrid表格外掛整合到MVC4網站中。

MVC網站教程”系列的示例網站是採用增量式和迭代式軟體過程開發的,這意味著系列中每一篇博文會在前一篇的解決方案中新增更多的功能,所以本文提供的示例下載只包含系列目前為止所介紹的功能。

本博文的第一部分介紹構件塊的使用,第二部分介紹將jqGrid表格外掛整合到MVC基礎站點解決方案的步驟,使用到技術有AJAXJSONJavaScript和第一部分介紹的構件塊。

軟體環境

1..NET 4.0 Framework

2.Visual Studio 2010 (or Express edition)

3.ASP.NET MVC 4.0

4.SQL Server 2008 R2 (or Express Edition version 10.50.2500.0)

在執行示例程式碼之前

在執行示例程式碼之前,你應該做下面事情:

1.首先使用“管理員身份”執行CreateEventLogEntry

控制檯專案程式產生的exe,用來在事件日誌中建立“MVC Basic”事件源。(EventLog在寫日誌時會建立指定名稱的類別預設為“應用程式”的事件源。但是ASP.NET網站沒有足夠的許可權來建立事件源,需要本地桌面應用程式)

2.在你的SQL Server伺服器中建立一個名為MvcBasicSite的資料庫,然後用我提供的MvcBasicSiteDatabase.bak檔案進行資料庫還原。

3.修改MVC應用程式示例的Web.config配置檔案中的連結字串。

示例帳號

1)管理員帳戶:Administrator密碼:tm77dac

2)普通帳戶: Ana密碼:ana

本博文示例下載:

jqGridAJAX

jqGrid是一個支援AJAX的開源的javascript控制元件,它提供在網頁上顯示和操作表格資料,並且支援通過AJAX回撥函式動態的載入資料。

關於jqGrid控制元件的:

下面jqGrid外掛包中重要的元件必須整合到網站應用程式中:

1)jquery.jqGrid.min.js:壓縮格式的jqGrid表格外掛指令碼庫。

2)jquery.jqGrid.src.jsjqGrid表格外掛指令碼庫原始碼。

3)ui.jqgrid.cssjqGrid表格外掛的css樣式檔案。

4)一些命名為grid.local-XX.js特定語言檔案。這裡的XX是語言的兩字元程式碼。

除了上面這些重要元件,我們還會在(微軟)定製版本的主題。

AJAX是非同步的JavaScriptXML的縮寫。AJAX不是單一的技術,而是一組相互關聯用於建立非同步web應用程式的開發技術。使用AJAX技術,web應用程式能非同步傳送資料和非同步接收資料,非同步方式不會影響當前頁的顯示和操作並且通過AJAX技術還能避免整個頁面的重新整理。

在下面圖中,我使用UML圖展示了“傳統Web系統模型”和“AJAX Web系統模型”。

clip_image001

從“傳統web系統模型”圖中可知,每個使用者介面端(eg:瀏覽器)的使用者請求都會向web應用程式端(執行在web伺服器)直接傳送一個HTTP請求,在Web應用程式處理請求後響應一個HTML頁面(HTTP+CSS)到瀏覽器,最後在瀏覽器中呈現。

MVC基礎網站是基於AJAXWeb應用程式,當瀏覽器端發出一個使用者請求,使用者介面元件會觸發一個JavaScript呼叫到AJAX Engine元件。這個引擎負責渲染使用者介面和與服務端進行通訊。AJAX技術允許使用者與應用程式發生非同步的互動---與伺服器進行獨立的通訊。注意AJAX引擎給Web應用程式傳送一個HTTP請求並且僅接收需要的資料(而不是整個HTML頁面)。

GridSettings

這個主要類是用來儲存jqGrid的設定資訊並進行分頁和排序。

clip_image002

如你在上面類圖所見,這個類包含4個屬性用於儲存當前grid設定資訊。

1)PageIndex:儲存當前頁索引(1表示第一頁……);

2)PageSize:儲存頁尺寸(設定一個grid頁面能載入的最大行數);

3)SortColumn:儲存排序的列;

4)SortOrder:儲存排序順序(ASCDESC);

這個類實現了Serializable介面,重寫了ToString()方法將當前

相關推薦

[]MVC網站教程MVC4網站整合jqGrid表格外掛系列完結

目錄 1.介紹 2.軟體環境 介紹 “MVC網站教程”系列的目的是教你如何使用 ASP.NET MVC 建立一個基本的、可擴充套件的網站。 4)MVC網站教程(四):MVC4網站中整合jqGrid表格外掛(涉及技術:AJAX,JSON,jQue

DPDK10報文處理的指令預取prefetcht0

在DPDK的例子中報文處理時讀取報文內容時添加了指令預取命令(prefetcht0): /* * Read packet from RX queues */ for (i = 0; i < qconf->n_rx_port; i++) {

WebKit開發實戰在WPF使用WebKit控制元件含示例程式碼

WebKit 是一個開源的瀏覽器引擎,可以用於程式內建瀏覽器的開發。開發時,需要將WebKit的相關檔案都拷貝至專案檔案,方便程式設計時呼叫,實現WebKit的功能。 在WPF中使用WebKit時,需要新增以下引用。 新增好引用後,就可以在WPF中使用WebKit控

webpack4系列教程處理專案的資原始檔

傳送門: webpack4系列教程(一):初識webpack webpack4系列教程(二):建立專案,打包第一個JS檔案 webpack4系列教程(三):自動生成專案中的HTML檔案    1. Loader的使用 之前的博文已經介紹了Loader的

通過配置文件獲取對象Spring框架的IOC和DI的底層就是基於這樣的機制

ted const dex generate stat clas name 必須 nbsp 首先在D盤創建一個文件hero.txt,內容為:com.hero.Hero(此處必須是Hero的完整路徑) 接下來是Hero類 package com.hero; publi

軟件架構設計學習總結13大型網站技術架構網站的可擴展性架構

開放 擴展 修改 restfu 消息發送 封裝 nts 進行 可擴展性 擴展性是指對現有系統影響最小的情況下,系統功能可持續擴展或提升的能力。 設計網站可擴展架構的核心思想是模塊化,並在此基礎上,降低模塊間的耦合性,提供模塊的復用性。模塊通過分布式部署,獨立

軟件架構設計學習總結14大型網站技術架構網站的安全架構

根據 知情 提交 pac 請求參數 用途 text 避免 信息加密 從互聯網誕生起,安全威脅就一直伴隨著網站的發展,各種Web攻擊和信息泄露也從未停止。常見的攻擊手段有XSS攻擊、SQL註入、CSRF、Session劫持等。 1、XSS攻擊 XSS攻擊即跨站點腳本攻擊(C

軟件架構設計學習總結12大型網站技術架構網站的伸縮性架構

可用性 name 偶數 發送 得到 合並 linux vi 可謂 性能 網站系統的伸縮性架構最重要的技術手段就是使用服務器集群功能,通過不斷地向集群中添加服務器來增強整個集群的處理能力。“伸”即網站的規模和服務器的規模總是在不斷擴大。 1、網站架構的伸縮性設計 網站的伸縮性

【TeeChart Pro ActiveX教程十三圖表面板上的自定義繪圖

下載TeeChart Pro ActiveX最新版本 TeeChart通過Canvas物件提供廣泛的自定義繪圖工具。使用Canvas,您可以在“Chart Panel”的任何位置新增形狀,線條和文字,並定義其顏色,筆和畫筆樣式。 TeeChart畫布 繪圖順序 使用TeeChart的Canvas方

【Unity3D基礎教程】給初學者看的Unity教程在Unity構建健壯的單例模式Singleton

該部落格中的程式碼均出自我的開源專案 : 迷你微信 為什麼需要單例模式 遊戲中需要單例有以下幾個原因: 我們需要在遊戲開始前和結束前做一些操作,比如網路的連結和斷開,資源的載入和解除安裝,我們一般會把這部分邏輯放在單例裡。 單例可以控制初始化和銷燬順序,而靜態變數和場景中的GameObject都無法控制

只需十從零開始掌握 Python 機器學習附資源

Python 可以說是現在最流行的機器學習語言,而且你也能在網上找到大量的資源。你現在也在考慮從 Python 入門機器學習嗎?本教程或許能幫你成功上手,從 0 到 1 掌握 Python 機器學習,至於後面再從 1 到 100 變成機器學習專家,就要看你自己的努力了。本教程原文分為兩個部分,機器之心在本文

記一次企業級爬蟲系統升級改造爬取微信公眾號文章通過搜狗與新榜等第三方平臺

首先表示抱歉,年底大家都懂的,又涉及SupportYun系統V1.0上線。故而第四篇文章來的有點晚了些~~~對關注的朋友說聲sorry! SupportYun系統當前一覽:   首先說一下,文章的進度一直是延後於系統開發進度的。   當前系統V1.0 已經正式上線服役了,這

建站教程Ubuntu上如何配置Nginx+MySQL+PHP7LNMP

在Linux上搭建個人網站,最常用的就是Nginx+MySQL+PHP環境,即LNMP。搭建LNMP的一鍵指令碼很多,不過本文介紹如何不用指令碼一步一步自己搭建LNMP環境,這樣以後自己的網站遇到什麼問題也會清楚如何修改。 安裝Nginx Ubutun(本教程是基於U

makefilemakefile規則的命令

規則中的命令被傳遞給shell進行解析執行。除跟在依賴後面的第一條命令以外,其他命令必須與tab鍵開頭。如下: 目標:依賴;命令1 命令2 通常情況下也並不推薦這種寫法,推薦的寫法還是將命令1,另起一行,並以tab鍵開頭,這樣做的好處,就是便於觀

只需十從零開始掌握Python機器學習附資源

Python 可以說是現在最流行的機器學習語言,而且你也能在網上找到大量的資源。你現在也在考慮從 Python 入門機器學習嗎?本教程或許能幫你成功上手,從 0 到 1 掌握 Python 機器學習,至於後面再從 1 到 100 變成機器學習專家,就要看你自己的努力了。本

hive部分hive表載入資料的方式

注意:hive不支援insert into table values()的插入資料 hive表中載入資料的四種方式 1.從本地載入資料 hive (hive)> create table wyp > (id int,name strin

hive學習教程hive和Hbase整合

一、Hive整合HBase原理 Hive與HBase整合的實現是利用兩者本身對外的API介面互相進行通訊,相互通訊主要是依靠hive-hbase-handler-0.9.0.jar工具類,如下圖 Hive與HBase通訊示意圖 二、具體步驟

】索引進階十二SQL SERVER的索引碎片【下篇】

div 外部 tor color 掃描 sql pan 討論 介紹 為了討論碎片產生的原因,以及避免和移除索引碎片的技術,我們必須從本進階系列後續將介紹的兩個章節借用一些知識點:創建/更新索引的知識,以及向一個索引表插入數據行的相關知識。 當我們講解這些信息的時候,記住本

NacosSpringCloud專案接入Nacos作為配置中心

前言 通過前兩篇文章: Nacos(二):Nacos與OpenFeign的對接使用 Nacos(三):SpringCloud專案中接入Nacos作為註冊中心 相信大家已經對Nacos作為註冊中心的基本使用已經有了一定的瞭解。 然而,Nacos遠遠不止於此,本文我們來看一下Nacos作為配置中心在Sprin

ActiveMQ19Consumer高級特性之獨有消費者Exclusive Consumer

consumer高級特性之獨有消費者(exclusive consumer)一、簡介Queue中的消息是按照順序被分發到consumers的。然而,當你有多個consumers同時從相同的queue中提取消息時,你將失去這個保證。因為這些消息是被多個線程並發的處理。有的時候,保證消息按照順序處理是很重要的。如