使用Unobstrusive-AJAX來執行AJAX

Unobstrusive-AJAX是為微軟的一個Js套件,你可以再HTML標籤裡加上一些特定的屬性,不用自己寫$.ajax類似的Js程式碼,即可完成以前的AJAX效果。其實優點我也不是很懂,google一下是說可以不用在前端cshtml裡面寫太多的javascript吧,可以把大部分的Js程式移到外部js檔,讓html跟Js切分得更乾淨。

...繼續閱讀 »

jQuery Validation Plugin + jQuery.validate.unobtrusive + AJAX,不透過form submit來做網頁表單驗證

表單驗證是網頁很常用的功能,通常是submit會觸發驗證流程(會把jQuery.validator.unobtrusive.parse("#form1");  會把檢核觸發寫在submit button裡)。但今天收到個需求,網頁因為某些因素不想透過submit 表單post資料到後台,想要透過ajax的方式來post資料,但validator又一定需要把要驗證的<input>包在<form>裡面的情況下(如果把<form>拿掉,就不會有驗證效果),要如何觸發表單驗證?

...繼續閱讀 »

SQL在使用JOIN時的一些原理

以前寫SQL用到INNER JOIN時,都自以為SQL會依照順序用等號左邊的資料表(驅動表)欄位去找等號右邊的資料表(被驅動表)欄位的資料

所以應該用資料量較少的Table去當驅動表去JOIN資料量較多的被驅動表,這樣速度會比較快

後來查資料才知道,我只對一半,用資料量少的資料表去找資料量較多的資料表這觀念是沒問題的。但並不是依照SQL語法由上到下的順序來判定JOIN時的驅動表和被驅動表。誰是驅動誰是被動還是要看執行計畫比較準確,MSSQL預設把有加索引的表當被驅動表,未加索引的表則為驅動表,在不同JOIN時會有不同的結果。

ps:個人猜測如果驅動跟被動表都使用到索引的話,應該是以資料筆數較少的表當做驅動表,但這只是個人猜測,還沒做過驗證。

...繼續閱讀 »

Bootstrap Modal(模態框)應用

互動式網頁中有兩個常見功能

1.在主畫面跳出新的表單輸入視窗

2.點圖放大

原畫面會變黑,並由新的視窗覆蓋在原本主要畫面上,這種效果可以用Bootstrap的Modal來完成。以下就用兩個範例來示範(ASP.Net MVC + AngularJS)

...繼續閱讀 »