[Mvc] Binding List Data
在送出表單的時候,很常會遇到需要將整個列表資料送回Post Action的情況,今天來介紹一下要怎麼綁定List Data。
實作:
其實綁List不難,大概幾個重點:
(1)每一筆資料都要建一個prefix(前綴),並且給一個index vlaue (如圖一第30行)
(2)這個前綴的名稱(這裡的範例是給"datas"),是根據Action 要接的參數name給的(如圖二第26行)
(3)要綁定的model內容 name={前綴}+"."+{屬性名稱},如(圖三,我要綁 TestModel 的屬性"A"的值回來,name的綁定方法如圖一的31行)
(圖三)
1.View 範例
var testData = new List<TestModel>() { new TestModel{A="1"}, new TestModel{A="2"}, new TestModel{A="3"}, }; foreach (var item in testData) { var uuid = Guid.NewGuid(); var prefix = $"datas[{uuid}]"; <input name="datas.index" value="@(uuid)" hidden /> <input name="@($"{prefix}.{nameof(TestModel.A)}")" value="@(item.A)" hidden /> }
留言
張貼留言