Pages

2016-05-25

MVC Razor迴圈分組顯示

在MVC Views (*.cshtml)裏要將一個資料集合作loop迴圈分組顯示,一般正規的Razor程式寫法如下圖:

Rzaor Regular Grouping

應用在Table裏,它就可以輸出下圖行列的分組效果。

Razor Regular Output

但是一個View裏可能會存在多個群組顯示,若每個區塊都放上述的Razor源碼,不僅容易變數衝突,也缺乏程式ReUse的精神,所以我們可以利用C# Action Delegate把需要客制化的部分抽取出來,下圖函式內部裏的StringBuilder可以省略掉,以適應更多的變化:

Action Method

日後在Razor View裏,就可以輕易輸出Grouping HTML自訂字串了。
Razor Custom Grouping

MVC最主要精神就是不要在View裏寫複雜的邏輯程式判斷,應該要將這些分組寫法放到Model去,再包一層Method來簡化呈現參數,例如只提供群組數量就好。

Post a Comment