MVC4與jQueryUI –DatePicker Widget

by vivid 25. 九月 2013 02:53

.NET Magazine國際中文電子雜誌
者:許薰尹
稿:張智凱
文章編號:N130914002
出刊日期:2013/9/25

jQuery UI是jQuery的外掛(plug-ins),簡化HTML Element與JavaScript互動的程式碼,搭配jQuery函式庫,提供許多方便的選取器(Selector),來尋找HTML DOM物件中的內容。jQuery UI內建Widget、動畫、佈景主題(Theme)很容易地就可以讓你建立豐富的網頁使用者介面。jQuery UI可以搭配任何網頁技術來進行開發,如ASP.NET、PHP等等。

本篇文章將介紹如何使用Visual Studio 2012在ASP.NET MVC4應用程式的專案中使用jQuery UI來設計前端使用者介面。

下載jQuery UI函式庫

使用jQuery UI的第一步便是取得jQuery UI函式庫,可以從http://jqueryui.com/網站的首頁下載最新版本,目前的最新版本為1.10.3版,只要點選「stable」按鈕就可以進行下載,請參考下圖所示:

clip_image003

圖 1:下載jQuery UI函式庫。

您也可以從http://jqueryui.com/download/網址下載舊版,或挑選想使用的功能進行客製化的下載。

探索jQuery UI範例

要了解jQuey UI提供的功能,可以解壓縮下載下來的jquery-ui-1.10.3.zip檔案。然後使用瀏覽器開啟demos目錄下的index.html檔案,請參考下圖所示。這個檔案表列出jQuery UI提供的Widget、動畫…等等功能。

clip_image005

圖 2:demos目錄下的index.html檔案。

你可以點選任一個超連結來了解這項功能,例如點選accordion超連結,進入到下個畫面,再點選Index.html,請參考下圖所示:

clip_image007

圖 3:accordion Widget範例檔。

接著會表列出accordion widget的功能範例頁,點選其中一個連結,就可以檢視範例程式,請參考下圖所示:

clip_image009

圖 4:accordion widget的功能範例頁。

點選「Default functionality」連結,便展示accordion widget的基本功能,可以透過它來設計折疊、收合的使用者介面,請參考下圖所示:

clip_image011

圖 5:accordion widget可以設計折疊、收合的使用者介面。

若使用Chrome瀏覽器,瀏覽到範例網頁時,在網頁上方,按滑鼠右鍵,選取「檢視網頁原始碼」,就可以看到範例程式碼,請參考下圖所示:

clip_image013

圖 6:accordion widget範例程式碼。

探索jQuery UI佈景主題

預設在解壓縮jquery-ui-1.10.3.zip檔案後,有一個themes\base的目錄,裏頭有許多的css樣式表檔案,這是jQuery UI內建的佈景主題。若要使用更多的佈景主題,可以從http://jqueryui.com/download/下載jquery-ui-themes-1.10.3.zip檔案,請參考下圖所示,解壓縮後,裏頭含有20幾種內建的佈景主題:

clip_image015

圖 7:下載佈景主題。

若想要客製化自行定義佈景主題,可以利用http://jqueryui.com/themeroller/網頁來設計,請參考下圖所示:

clip_image017

圖 8:客製化自行定義佈景主題。

下載jQuery函式庫

因為jQuery UI是以jQuery為基礎而設計的,想當然爾,當你要使用jQuery UI函式庫時,就得要在網頁中引用jQuery函式庫,從以下網址http://jquery.com/download/下載想要使用的版本,本文以2.0.3版為例,點選http://jquery.com/網站首頁的「Download」按鈕,就會跳到http://jquery.com/download/網址進行下載,請參考下圖所示:

clip_image019

圖 9:下載jQuery函式庫。

在這個頁面中,你可以挑選想要使用的jQuery函式庫版本來下載,以下展示下載jQuery 2.0.3版,在下載的超連結上方,按滑鼠右鍵,選取選單中的「另存目標」將檔案存到本機電腦上,請參考下圖所示:

clip_image021

圖 10:下載jQuery函式庫。

jQuery2.0.3版函式庫包含非壓縮版(Development版,jquery-2.0.3.js)、壓縮版(Production版,jquery-2.0.3.min.js),以及一個map檔案(jquery-2.0.3.min.map)。以往使用jQuery函式庫時,通常為了方便除錯,在開發階段會引用Development版,如jquery-2.0.3.js檔案。而在上線階段時使用Production版,jquery-2.0.3.min.js。不過jQuery1.9版以及jQuery Mobile 1.3.1版之後,都有SourceMap檔案,可以自動對照Development版與Production版,放便在上線階段除錯,利用SourceMap檔案自動將jquery-2.0.3.min.js檔案進行排版,以利閱讀,而你只需引用Production版(jquery-2.0.3.min.js),並將這三個檔案放在網站應用程式的相同目錄中即可。

引用jQuery、jQuery UI檔案

解壓縮下載下來的zip檔案後,發現jQuery UI由許多的JavaScript、CSS檔案組成。那麼當我們要開發使用jQuery UI網頁時,要引用哪些檔案呢? jQuery UI的JavaScript檔案,放在ui目錄中,包含兩種:壓縮版與非壓縮版。非壓縮版放在ui目錄下,請參考下圖所示:

clip_image023

圖 11:jQeury UI函式庫非壓縮版。

非壓縮版的JS檔案包含一些縮排字元,讓程式在開發階段容易閱讀,參考下圖是jquery-ui.js檔案的內容,請參考下圖所示:

clip_image025

圖 12:非壓縮版的JS檔案。

壓縮版放在ui\minified目錄下,檔案的名稱都是以min.js結尾,請參考下圖所示:

clip_image027

圖 13: jQeury UI函式庫壓縮版。

壓縮版會移除一些排版用的字元,讓檔案更小,更適合在上線的環境中使用,參考下圖是jquery-ui.min.js檔案的內容:

clip_image029

圖 14:壓縮版的JS檔案。

引用JavaScript

若要引用jQuery UI函式庫,jquery-ui.js(或jquery-ui.min.js)檔案是必要的,jquery-ui.js通常在開發階段使用;jquery-ui.min.js通常在上線階段使用,兩者視情況擇一使用即可。

引用CSS樣式表與圖檔

jQuery UI的樣式表也是分成非壓縮版與壓縮版兩種,內建的樣式非壓縮版放在themes\base目錄中;壓縮版則放在themes\base\minified目錄中。樣式表使用的圖檔則放在這兩個目錄的images子目錄下。jquery-ui.css(或jquery-ui.min.css)檔案以及其下的images子目錄和內含的圖檔都是開發過程中必要的檔案。

建立MVC專案

jQuery、jQuery UI函式庫準備完成之後,下一步就可以整合到ASP.NET MVC專案中,從Visual Studio 2012開發工具 -「File」-「New」-「Project」,在「New Project」對話盒中選取程式語言,例如本範例選擇「Visual C#」,從「Web」分類中,選取「ASP.NET MVC 4 Web Application」,為專案取一個名稱,然後按下「OK」鍵,請參考下圖所示:

clip_image031

圖 15:ASP.NET MVC 4 Web應用程式。

建立一個ASP.NET MVC 4應用程式「Empty」範本專案後,Visual Studio 2012會自動在專案中建立許多目錄,以及一些程式碼檔案到專案之中,請參考下圖所示:

clip_image033

圖 16:建立ASP.NET MVC Empty專案

從「Solution Explorer」-專案上方按滑鼠右鍵,從快捷選單選取「Add」-「New Folder」,在網站應用程式根路徑下建立Content與Scripts目錄。然後加入以下檔案:

· 將解壓縮jquery-ui-1.10.3.zip檔案後的jquery-ui-1.10.3\themes目錄,及包含在其中的檔案,加到Content目錄中。

· 將jquery-ui.min.js或jquery-u.js (二擇一)加到Scripts目錄。

· 將jquery-2.0.3.js、jquery-2.0.3.min.js與jquery-2.0.3.min.map三個檔案加到Scripts目錄。

目前專案的檔案與目錄結構看起來如下:

clip_image035

圖 17:網站應用程式目錄結構。

使用DatePicker Widget

若想要在網頁中顯示月曆讓使用者輸入日期資料,jQuery UI的DatePicker Widget是一個不錯的選擇。DatePicker Widget包含一個DatePicker()方法,可以用來初始化。接下來我們來探討如何在View中使用jQuery UI- DatePicker Widget。

從「Solution Explorer」-專案-「Controllers」目錄上方按滑鼠右鍵,從快捷選單選取「Add」-「Controller」,接著便會出現「Add Controller」對話盒,為控制器取一個名稱,例如本範例中的「HomeController」,請參考下圖所示:

clip_image037

圖 18:加入控制器。

預設控制器中包含一個Index方法,讓我們為它建立對應的檢視。將滑鼠游標停留在HomeController Index方法上方按滑鼠右鍵,然後選取快捷選單上的「Add View」選項,請參考下圖所示:

clip_image039

圖 19:加入檢視。

在「Add View」對話盒設定檢視的名稱為「Index」。清除勾選所有核取方塊然後按下「Add」按鈕,請參考下圖所示:

clip_image041

圖 20::加入檢視。

在Index View中引用jquery-ui.css、jquery-2.0.3.min.js與jquery-ui.min.js檔案,並且在jQuery的ready事件呼叫datepicker()方法,套用DatePicker到HTML id為myDate 的INPUT項目:

@{
    Layout = null;
}
<!DOCTYPE html>
<html>
<head>
    <meta name = "viewport" content = "width=device-width" />
    <title> Index </title>
    <link href = "~/Content/themes/base/jquery-ui.css" rel = "stylesheet" />
      <script src = "~/Scripts/jquery-2.0.3.min.js"> </script>
    <script src = "~/Scripts/jquery-ui.min.js"> </script>
    <script>
        $( function () {
            $("#myDate").datepicker();
        } );
    </script>
</head>
<body>
    <div>
        <input type = "text" id = "myDate" name = "myDate" />
    </div> 
</body>
</html>

當你執行這個網頁時,把滑鼠游標停留在文字方塊時,DatePicker就會出現在文字方塊的正下方,當點選了月曆中的任一個日期,便會自動把選到的日期顯示在文字方塊之中,並將月曆隱藏起來,請參考下圖所示:

clip_image043

圖 21:使用DatePicker Widget範例。

變更佈景主題

jQuery UI提供20幾種內建的佈景主題,若要變更佈景主題,則下載並解壓縮jquery-ui-themes-1.10.3.zip檔案,其themes目錄下有許多的子目錄,每一個子目錄便代表一種佈景主題,請參考下圖所示:

clip_image045

圖 22:jQuery UI提供20幾種內建的佈景主題。

舉例來說,若想要使用「south-street」佈景主題,就將「south-street」目錄以及目錄下的所有檔案加入專案中Content\themes\目錄下,請參考下圖所示:

clip_image047

圖 23:使用「south-street」佈景主題。

接著只要在View之中,引用新的樣式表檔案就可以了:

 

@{
    Layout = null;
}
<!DOCTYPE html>
<html>
<head>
    <meta name = "viewport" content = "width=device-width" />
    <title> Index </title>
    <link href = "~/Content/themes/south-street/jquery-ui.css" rel = "stylesheet" />
    <script src = "~/Scripts/jquery-2.0.3.min.js"> </script>
    <script src = "~/Scripts/jquery-ui.min.js"> </script>
    <script>
        $( function () {
            $("#myDate").datepicker(
                {
                    dateFormat: "yy/mm/dd"
                }
                );
        } );
    </script>
</head>
<body>
    <div>
        <input type = "text" id = "myDate" name = "myDate" />
    </div>
</body>
</html>

改用「south-street」佈景主題的網頁執行結果,請參考下圖所示:

clip_image049

圖 24:使用「south-street」佈景主題。

使用dateFormat設定日期格式

預設日期的格式為「mm/dd/yy」,若要變更格式,你可以利用datePicker的dateFormat選項來修改顯示樣式,例如修改使用DatePicker的程式碼:

<script>

$( function () {

        $("#myDate").datepicker( { dateFormat: "yy/mm/dd" } );

} );

</script>

此範例的執行結果,請參考下圖所示:

clip_image051

圖 25:使用DatePicker Widget dateFormat範例。

顯示多個月份- numberOfMonths

DatePicker可以一次顯示多個月份的資料,供使用者選取。你可以指定numberOfMonths來設定月份,例如以下範例程式碼,指定一次顯示三個月份的資料:

<script>

$( function () {

         $("#myDate").datepicker( { dateFormat: "yy/mm/dd", numberOfMonths: 3 } );

} );

</script>

此範例的執行結果,請參考下圖所示:

clip_image053

圖 26:使用DatePicker Widget numberOfMonths範例。

兩個Row,一個Column

numberOfMonths可以指定成一個陣列,分別設定要顯示的月曆之Row與Column數,例如以下範例指定顯示兩個Row,一個Column:

<script>

$( function () {

        $("#myDate").datepicker( { dateFormat: "yy/mm/dd", numberOfMonths: [2,1] } );

} );

</script>

此範例的執行結果,請參考下圖所示:

clip_image055

圖 27:使用DatePicker Widget numberOfMonths範例。

顯示其它月份日期- showOtherMonths

預設DatePicker只顯示當月的日期,showOtherMonths可以控制是否要顯示其它月份的日期,例如以下程式碼範例,設定為「true」表示要顯示其它月份日期:

<script>
    $( function () {
        $("#myDate").datepicker(
            {
                dateFormat: "yy/mm/dd",
                numberOfMonths: [2, 1],
                showOtherMonths: true
            }
            );
    } );
</script>

此範例的執行結果,請參考下圖所示:

clip_image057

圖 28:使用DatePicker Widget showOtherMonths範例。

使用minDate與maxDate指定可選取的日期

minDate與maxDate可以用來指定可選取的日期,參考以下範例程式,minDate設定為「-1」,表示只能選取昨天;maxDate設定為「10」,表示只能選取未來10天內的日期:

<script>
    $( function () {
        $("#myDate").datepicker(
            {
                dateFormat: "yy/mm/dd",
                minDate : -1,    
                maxDate :10 
            }
            );
    } );
</script>

此範例的執行結果,請參考下圖所示,若今天的日期為「2013-9-3」日,則只能選取昨天或未來10天內的日期,不能選取的日期便呈現灰色:

clip_image059

圖 29:使用DatePicker Widget minDate、maxDate範例。

使用beforeShowDay自訂可選取日期

若minDate、maxDate不敷使用,你還可以使用beforeShowDay自訂可選取日期。DatePicker中的每一個日期要顯示之前,會先呼叫beforeShowDay方法。beforeShowDay方法傳入目前日期當參數,並回傳一個陣列,陣列中第一個項目要包含布林值,true代表此項目可以選取;false則代表不可選取。因此,若我們想要控制只有雙數日期才可以被選取,可以加入以下程式碼:

<script>
    $( function () {
        $("#myDate").datepicker(
            {
                dateFormat : "yy/mm/dd",
                showOn : "button",
                buttonImage : "/Content/Calendar_scheduleHS.png",
                buttonImageOnly : true,
                buttonText : "請選取日期"
            }
         );
    } );
</script>

此範例的執行結果,請參考下圖所示:

clip_image061

圖 30:使用DatePicker Widget beforeShowDay範例。

使用按鈕圖示顯示日曆

有些需要輸入日期資料的INPUT項目右方會顯示一個月曆小圖示,提示使用者可以利用選取的方式來輸入日期資料,我們可以利用buttonImage指明月曆的圖示,例如以下範例程式碼:

<script>
    $( function () {
        $("#myDate").datepicker(
            {
                dateFormat : "yy/mm/dd",
                showOn : "button",
                buttonImage : "/Content/Calendar_scheduleHS.png",
                buttonImageOnly : true,
                buttonText : "請選取日期"
            }
         );
    } );
</script>

showOn若設為button,則當你點選月曆圖示時,才會顯示DatePicker;若showOn設為both,則當文字方塊取得游標或點選月曆圖示時都會顯示DatePicker。buttonText則用來顯示提示文字。此範例的執行結果,請參考下圖所示:

clip_image063

圖 31:使用DatePicker Widget buttonImage範例-buttonImageOnly設為true。

buttonImageOnly若設為false,則月曆圖示看起來像是一個按鈕,請參考下圖所示:

clip_image065

圖 32:buttonImageOnly設為false。

呼叫伺服端程式碼

若選到日期,想要把日期的資料送到伺服端做處理,你可以利用onSelect方法,它在日期選定後自動呼叫。在此方法中,我們可以利用jQuery $.ajax方法將選到的日期送到伺服端。例如以下範例程式,呼叫伺服端HomeController的GetDate行動方法:

@{
    Layout = null;
}
<!DOCTYPE html>
<html>
<head>
    <meta name = "viewport" content = "width=device-width" />
    <title> Index </title>
    <link href = "~/Content/themes/base/jquery-ui.css" rel = "stylesheet" />
    <script src = "~/Scripts/jquery-2.0.3.min.js" ></script>
    <script src = "~/Scripts/jquery-ui.min.js"> </script>
    <script>
        $( function () {
            $("#myDate").datepicker(
                {
                    dateFormat : "yy/mm/dd",
                    onSelect : function ( dateText ) {
                        var dataToSend = { date: dateText };
                        $.ajax({
                            url : "Home/GetDate",
                            data : dataToSend,
                            success : function ( data ) {
                                $("#result").html( data );
                            }
                        });
                    }
                })
        } );
    </script>
</head>
<body>
    <div>
        <input type = "text" id = "myDate" name = "myDate" />
        <div id = "result"> </div>
    </div>
</body>
</html>

onSelect方法會傳入一個dateText變數,裏頭包含選到的日期資訊。若呼叫伺服器程式碼的動作成功完成,便利用success事件,將伺服器送回的資料顯示在網頁上。

伺服端HomeController的GetDate方法定義如下,接收用戶端傳入的日期字串,然後再傳送到用戶端:

public class HomeController : Controller {

  public ActionResult Index( ) {

      return View( );

  }

  public string GetDate( string date ) {

      return "伺服端收到訊息,日期為:" + date.ToString( );

  }

}

此範例的執行結果,請參考下圖所示:

clip_image067

圖 33:使用DatePicker Widget onSelect範例。

International與Localization

預設DatePicker Widget的介面是英文的,若想要改成正體中文介面,可以解壓縮下載下來的jquery-ui-1.10.3.zip檔案,從jquery-ui-1.10.3\ui\i18n目錄下,找到jquery.ui.datepicker-zh-TW.js 檔案,加到專案Scripts目錄下。然後在View之中引用這個檔案,參考以下範例程式碼所示:

@{
    Layout = null;
}
<!DOCTYPE html>
<html>
<head>
    <meta name = "viewport" content = "width=device-width" />
    <title> Index </title>
    <link href = "~/Content/themes/base/jquery-ui.css" rel = "stylesheet" />
    <script src = "~/Scripts/jquery-2.0.3.min.js"> </script>
    <script src = "~/Scripts/jquery-ui.min.js"> </script>
    <script src = "~/Scripts/jquery.ui.datepicker-zh-TW.js"> </script>
    <script>
        $( function () {
            $("#myDate").datepicker(
                {
                    dateFormat: "yy/mm/dd"
                }
        );
        } );
    </script>
</head>
<body>
    <div>
        <input type = "text" id = "myDate" name = "myDate" />
    </div>
</body>
</html>

此範例的執行結果,請參考下圖所示:

clip_image069

圖 34:使用DatePicker Widget International與Localization範例。

NuGet套件管理員

使用Visual Studio 2012開發jQuery UI程式時,可以利用NuGet套件管理員來下載jQuery UI函式庫,安裝的步驟為:在Visual Studio 2012工具-「Solution Explorer」-點選專案,按滑鼠右鍵,從快捷選單選取「Manage NuGet Package」,然後從線上搜尋jQuery與jQuery UI,請參考下圖所示:

clip_image071

圖 35:使用NuGet套件管理員下載jQuery函式庫。

clip_image073

圖 36:使用NuGet套件管理員下載jQuery UI函式庫。

jQuery UI樣式會放在Content目錄下,而JavaScript檔案則是放在Scripts目錄。jQuey UI的主要函式庫檔案名稱為jquery-ui-1.10.3.min.js檔,請參考下圖所示:

clip_image075

圖 37:jQuey UI的主要函式庫檔案名稱為jquery-ui-1.10.3.min.js檔。

在View之中引用範例:

@{
    Layout = null;
}
<!DOCTYPE html>
<html>
<head>
    <meta name = "viewport" content = "width=device-width" />
    <title >Index </title>
    <link href = "~/Content/themes/base/jquery-ui.css" rel = "stylesheet" />
    <script src = "~/Scripts/jquery-2.0.3.min.js"> </script>
    <script src = "~/Scripts/jquery-ui-1.10.3.min.js"> </script>
    <script>
        $( function () {
            $("#myDate").datepicker(
                {
                    dateFormat: "yy/mm/dd"
                }
        );
        } );
    </script>
</head>
<body>
    <div>
        <input type = "text" id = "myDate" name = "myDate" />
    </div>
</body>
</html>

你也可以利用NuGet套件管理員個別下載jQuery UI的佈景主題,或International與Localization套件,請參考下圖所示:

clip_image077

圖 38:利用NuGet套件管理員個別下載jQuery UI的佈景主題。

Tags:

.NET Magazine國際中文電子雜誌 | ASP.NET MVC | 許薰尹Vivid Hsu | jQuery UI

評論 (46) -

cours de theatre paris
cours de theatre paris United States
2017/9/30 上午 09:38:58 #

Looking forward to reading more. Great blog post.Really thank you! Keep writing.

回覆

can ho osimi
can ho osimi United States
2017/10/6 下午 11:01:59 #

Im grateful for the post.

回覆

sklep z lekami na potencje
sklep z lekami na potencje United States
2017/10/9 下午 02:35:47 #

Thank you for your article post.Thanks Again.

回覆

Osimi seaview
Osimi seaview United States
2017/10/9 下午 04:52:28 #

This is one awesome blog post.Really looking forward to read more. Cool.

回覆

solarmovie
solarmovie United States
2017/10/10 下午 06:39:58 #

Muchos Gracias for your blog article.Thanks Again. Want more.

回覆

Sterling Businesses Ltd
Sterling Businesses Ltd United States
2017/10/10 下午 08:47:16 #

Thanks a lot for the blog article.Thanks Again. Awesome.

回覆

pirater un compte facebook
pirater un compte facebook United States
2017/10/10 下午 11:06:02 #

A round of applause for your article post.Much thanks again. Much obliged.

回覆

Buy illegal backlinks
Buy illegal backlinks United States
2017/10/12 下午 07:30:30 #

This is one awesome blog article.Much thanks again. Really Great.

回覆

imp source
imp source United States
2017/10/14 下午 02:10:38 #

Say, you got a nice post.Thanks Again. Will read on...

回覆

dragon city hack no root
dragon city hack no root United States
2017/10/15 下午 02:11:55 #

Thanks for the post.Really thank you! Keep writing.

回覆

omega xl review
omega xl review United States
2017/10/15 下午 06:54:47 #

Appreciate you sharing, great blog article. Really Great.

回覆

More Help
More Help United States
2017/10/17 下午 01:29:44 #

Thank you for your blog article. Much obliged.

回覆

sletrokor review
sletrokor review United States
2017/10/17 下午 07:02:35 #

I think this is a real great article.Really looking forward to read more. Keep writing.

回覆

Opal Skyview
Opal Skyview United States
2017/10/19 上午 04:25:20 #

A big thank you for your blog post.Really looking forward to read more. Want more.

回覆

sex pills
sex pills United States
2017/10/19 上午 06:05:21 #

Thanks again for the blog post.Thanks Again. Really Great.

回覆

Visit Your URL
Visit Your URL United States
2017/10/19 下午 04:51:58 #

Say, you got a nice blog post.Really thank you! Want more.

回覆

pure slim 1000
pure slim 1000 United States
2017/10/20 上午 02:22:26 #

Hey, thanks for the blog post. Cool.

回覆

carte grise en ligne
carte grise en ligne United States
2017/10/21 上午 05:41:12 #

Wow, great blog post.Really thank you! Really Cool.

回覆

elakekassa suomi
elakekassa suomi United States
2017/10/21 下午 04:05:59 #

Very informative article post.Much thanks again. Fantastic.

回覆

Turbotax phone number
Turbotax phone number United States
2017/10/24 上午 07:36:12 #

I really enjoy the blog.Really thank you! Cool.

回覆

son thinh
son thinh United States
2017/10/28 上午 08:18:11 #

Major thanks for the blog.Really thank you! Fantastic.

回覆

EZ Battery Reconditioning Review
EZ Battery Reconditioning Review United States
2017/10/30 上午 07:12:23 #

I truly appreciate this post.Thanks Again.

回覆

lepszy plock
lepszy plock United States
2017/10/30 下午 02:57:21 #

I cannot thank you enough for the post.Really looking forward to read more. Keep writing.

回覆

mamaweeb
mamaweeb United States
2017/11/1 上午 07:25:56 #

Major thanks for the post.Thanks Again. Great.

回覆

phenocal
phenocal United States
2017/11/1 下午 02:47:50 #

This is one awesome blog post. Want more.

回覆

fashion
fashion United States
2017/11/24 上午 02:12:23 #

Hey, thanks for the blog article.Really thank you! Great.

回覆

porno
porno United States
2017/12/1 下午 08:58:47 #

Great article. Great.

回覆

Build Business Credit
Build Business Credit United States
2017/12/3 上午 09:05:46 #

Hey, thanks for the article.Much thanks again. Fantastic.

回覆

free porn app
free porn app United States
2017/12/5 下午 01:56:05 #

Thanks for sharing, this is a fantastic blog.Really looking forward to read more. Really Cool.

回覆

Thanks a lot for the article.Much thanks again. Fantastic.

回覆

lose weight
lose weight United States
2017/12/17 上午 04:35:56 #

A big thank you for your blog post. Really Cool.

回覆

Awesome blog article. Awesome.

回覆

driver canon
driver canon United States
2017/12/23 上午 06:17:35 #

Appreciate you sharing, great blog post.Much thanks again. Want more.

回覆

Darwin Horan
Darwin Horan United States
2017/12/23 下午 04:45:58 #

I appreciate you sharing this blog post.Thanks Again. Keep writing.

回覆

driver hp
driver hp United States
2017/12/25 下午 06:18:55 #

Im grateful for the blog article.Really thank you! Great.

回覆

&#216;&#177;&#218;&#175; &#216;&#174;&#217;ˆ&#216;&#167;&#216;&#168;
رگ خواب United States
2017/12/26 上午 01:04:29 #

A round of applause for your article post. Keep writing.

回覆

&#216;&#162;&#219;Œ&#217;†&#217;‡
آینه United States
2017/12/26 上午 06:09:55 #

Very informative article post.Thanks Again. Great.

回覆

SOCCER HIGHLIGHTS
SOCCER HIGHLIGHTS United States
2017/12/26 下午 05:06:07 #

I loved your blog.Really looking forward to read more. Want more.

回覆

canon printer series
canon printer series United States
2017/12/27 下午 06:08:16 #

Awesome blog.Really thank you!

回覆

site web
site web United States
2018/1/2 下午 04:51:44 #

I think this is a real great article.Really looking forward to read more. Want more.

回覆

I value the post.Much thanks again. Much obliged.

回覆

Bitcoin slots
Bitcoin slots United States
2018/1/4 下午 06:49:47 #

A big thank you for your post.Much thanks again. Will read on...

回覆

hp driver
hp driver United States
2018/1/5 下午 03:37:18 #

Im obliged for the blog.Thanks Again. Cool.

回覆

FBA
FBA United States
2018/1/6 上午 07:41:38 #

Appreciate you sharing, great article. Awesome.

回覆

web hosting
web hosting United States
2018/1/10 上午 08:38:17 #

A round of applause for your blog.Really thank you! Awesome.

回覆

新增評論




  Country flag
biuquote
  • 評論
  • 線上預覽
Loading






NET Magazine國際中文電子雜誌

NET Magazine國際中文電子版雜誌,由恆逸資訊創立於2000,自發刊日起迄今已發行超過500篇.NET相關技術文章,擁有超過40000名註冊讀者群。NET Magazine國際中文電子版雜誌希望藉於電子雜誌與NET Developer達到共同學習與技術新知分享,歡迎每一位對.NET 技術有興趣的朋友們多多支持本雜誌,讓作者群們可以有持續性的動力繼續爬文。<請加入免費訂閱>

月分類Month List