從背景組織好資料然後傳遞到頁面倒是水到渠成很友善,因為MVC自身就将這樣的需求内建到了這個系統中。我隻需要在背景組織好一個List 或IEnumerable類型的變量,将需要傳遞的資料模型扔進去便可。
比如這裡我們向視圖傳回5條product資訊在頁面進行展示,僅僅是傳回這麼簡單。

然後在頁面我們就毫不費力地得到了背景傳過來的資料模型,然後進行顯示即可。
但問題是,如何又将多個模型傳回背景去呢。一個form一般隻傳遞一個模型,我們可以在JavaScript裡序列化多個模型然後通過ajax 傳遞回去。
1.首先改造頁面,假設在頁面有很多輸入框供使用者輸入模型的相關資訊,并且搞一個按扭來送出。
2.然後在JavaScript中擷取這些輸入值,最後将所有模型整合到一個models變量中。
當然這些是寫到按扭的單擊事件中的。
是以完整的代碼看起來應該是這個樣子。
到這裡我們可以加個debugger測試一下有沒有有前台代碼中成功擷取到輸入框的值及組織好的模型對不對。
在頁面按F12打開開發者工具,然後試着在頁面輸入一些值,最後單擊按扭。
我們看到,在周遊了所有輸入框後,以每行為機關當成一個Product模型,壓入models變量中。這個時候,models變量中儲存了所有資訊。
3.準備背景接收資料的Action 。我們當然是接收多個模型,是以接收類型選擇為List<Product>
4.最後一步,将models變量通過Ajax傳送到背景
這一步是最關鍵的,因為ajax格式沒寫好背景是無法接收到正确的資料的。經過我頗費心神的研究最後得出的ajax代碼大概是下面這個樣子的:
最後完整的前台代碼大概應該是這個樣子的。
5.調試看結果
結果顯示我們接收到了前台傳過來的每一個資料,完工。