如果不使用jquery.validate.unobtrusive,只想做些簡單的驗證的話,可以用下面兩種方法來進行表單送出前驗證
AJAX 加入 AntiForgeryToken
為了防止CSRF攻擊,我們可以在MVC的Controller加上ValidateAntiForgeryToken這個標籤來進行Token的驗證,通常在前端的Form裡面也會加上@Html.AntiForgeryToken()來產生要跟後端驗證的Token,但如果有時候只是要透過AJAX來進行資料異動(ex:刪除資料)這種沒有表單的動作時,我們要把@Html.AntiForgeryToken()加在哪裡才不會打AJAX時老是出現500的回應呢?
JQuery如何把特殊符號(ex:< . >)當成純字串顯示
今天上班時遇到個問題,我有一個表單是允許輸入特殊符號的(ex:'<'. '>')。表單輸入完後要把輸入的資料組合成tr. td字串append到我的<table>後面,但卻遇到了個問題。只要我輸入的表單欄位有包含'<'或是'>',render出來的畫面都會怪怪的,雖然知道應該是特殊符號的問題導致HTML變的怪怪的,但之前都是有遇到問題才去找答案,為節省日後時間,就趁這次機會做個筆記記錄下來。
使用Unobstrusive-AJAX來執行AJAX
Unobstrusive-AJAX是為微軟的一個Js套件,你可以再HTML標籤裡加上一些特定的屬性,不用自己寫$.ajax類似的Js程式碼,即可完成以前的AJAX效果。其實優點我也不是很懂,google一下是說可以不用在前端cshtml裡面寫太多的javascript吧,可以把大部分的Js程式移到外部js檔,讓html跟Js切分得更乾淨。
ASP.Net MVC實作表單送出功能(使用Html.BeginForm)
Form表單的資料傳到後端是網頁一個很重要的功能,除了直接使用Form Post. Get外,也可以透過Ajax的方式把前端的資料傳遞到後端。
ASP.Net MVC實作資料列裡面的Input欄位資料傳遞到Controller的方法
工作實務中很常遇到這種情境,資料列裡面的Input資料post到Controller的方法。這邊演示一下如何處理處理這種常見的問題。
下載檔案時,瀏覽器出現Not allowed to load local resource的解決方法
今天在寫ASP.Net MVC前端時,客戶要求新增訂單後,可以在檢視模式上傳過的附件加上下載的連結,方便檢視自己上傳過的檔案,但連結放上去後卻一直無法下載…
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>拿掉,就不會有驗證效果),要如何觸發表單驗證?
防止瀏覽器存取快取的方式
防止瀏覽器存取快取的方式
介面(Interface). 抽象(Abstract). 虛擬(Virtual)的差異
這個問題記得面試時碰過兩. 三次,要你說出介面跟抽象類別兩者之間的差異,我只知道其中相似之處就是要讓子類別來實作其內容,其他也說不出來有什麼相異之處。直到最近工作常會接觸到介面,這個問題又被我想起來了。
ManualResetEvent進行執行緒同步,Set(). Reset(). WaitOne()的差別
利用ManualResetEvent來控制子執行緒進行同步作業
把被編碼後的HTML tag字串轉回HTML
把被編碼後的HTML tag轉回HTML,這個問題很常遇到,但每次都沒有特別記下來,每次遇到一樣的問題再去google如何把編碼過後的特殊符號轉回HTML,今天又遇到了,剛好又開著點部落,於是就順便把問題記錄下來
用Visual Studio Code建立.Net Core WebAPI專案
用Visual Studio Code建立.Net Core WebAPI專案
C# Float & Double 處理小數時的注意事項
C# Float & Double 處理小數時的注意事項
用NPOI建立Excel Stream,解決 Exception:由於另一個處理序正在使用檔案[xxxxx.xlsx]所以無法存取該檔案。
用NPOI建立Excel Stream,解決 Exception:由於另一個處理序正在使用檔案[xxxxx.xlsx]所以無法存取該檔案。
Bootstrap Modal(模態框)應用
互動式網頁中有兩個常見功能
1.在主畫面跳出新的表單輸入視窗
2.點圖放大
原畫面會變黑,並由新的視窗覆蓋在原本主要畫面上,這種效果可以用Bootstrap的Modal來完成。以下就用兩個範例來示範(ASP.Net MVC + AngularJS)
主要畫面cshtml傳參數給PartialView
主要畫面傳參數給PartialView
用Visual Studio Code建立.Net Core Console專案
用Visual Studio Code建立.Net Core Console專案
提交表單使用POST跟GET的差別
提交表單使用POST跟GET的差別
.Net Core使用ADO.Net方式直接下SQL撈取資料,並存放置自定義類別
.Net Core其實也可以使用.Net Framework時期那種ADO.Net的寫法
只是取連線字串的方式有點不同。其他步驟都大同小異
流程大致如下:
1.於建構子注入IConfiguration。之後就可以用實作GetValue取得appsettings.json裡的連線字串
2.下SQL做查詢,並用SqlDataAdapter接資料並塞進DataSet
3.把DataRow跟Model做Mapping。傳到View時就可以用強型別寫Razor語法
寫程式紀錄Log好工具_NLog
開發時Log紀錄工具,還有另外一個log4net也式之前用過的~
暫存資料表(@, #, ##)的差別
暫存資料表(@, #, ##)的差別
把StoredProcedure查詢出來的結果存至暫存Table
把StoredProcedure查詢出來的結果存至暫存Table做其他應用
Visual Studio建立本機資料庫(LocalDB),並透過EF新增Table
以Model First方式在新專案建立本機資料庫儲存資料
利用ManualResetEvent處理多執行緒同步作業
利用設定ManualResetEvent的信號來控制多執行緒,等到多執行緒都同時完成某件事之後,才回到主要執行緒進行後續程式流程。這就是所謂的多執行緒同步
ManualResetEvent_多MRE+ ThreadPool重複呼叫API
利用ManualResetEvent來控制子執行緒進行同步作業(以利用MultiThread重複打API為範例)
匿名委派Func應用(共用帳戶申請書狀態更新)
匿名委派Func的用途在於透過一個統一的匿名函式(Func)去執行分別對應的委派函式,以達到統一定義類似功能的函示的參數和回傳值(跟Interface有點類似,定義好函式需要的參數跟回傳值)。這樣就可以把不同的商業邏輯都放到對應的委派函式。而不是把所有的商業邏輯都包成一個函式用if...else來判斷該取得哪段商業邏輯結果。提高程式可讀性
舉例來說[CREATE]和[UPDATE]這兩個功能需要的參數其實都是差不多的,就可以透過匿名函式分別呼叫對應的委派函式。而不用把CREATEA跟UPDATE寫在一起再用if...else...判斷
泛型應用_函式會依照傳進來的物件參數來分別處理不同邏輯
函式會依照傳進來的物件來分別處理不同邏輯