有的时候页面展示会遇到一个model 是列显示的 对应每一行的意义
列如
列 | |
行A | model.A |
行B | model.B |
举例:每一晚都有6个类型的价格 每一晚是一个model model下的属性要与每一行匹配
页面显示的时候只需要找到相应晚数的model 去放数据就行
PA_Mod.Basic.UpgradeHotelRates twoNight = upgradeHotelRateList.FirstOrDefault(a => a.Night == 2);
PA_Mod.Basic.UpgradeHotelRates threeNight = upgradeHotelRateList.FirstOrDefault(a => a.Night == 3);
PA_Mod.Basic.UpgradeHotelRates fourNight = upgradeHotelRateList.FirstOrDefault(a => a.Night == 4);
PA_Mod.Basic.UpgradeHotelRates fiveNight = upgradeHotelRateList.FirstOrDefault(a => a.Night == 5);
具体就是找到4个model 每一行放每一个model的第一行的值
最重要的是如何保存
保存的时候需要每一行的class 与晚上结合使用找到数据
针对于行列匹配匿名model的情况
核心是在于如何匹配 每一行的单元格class一致保证是一行同一个内容
然后根据每一个自定义属性来匹配列 从而达到匹配的效果
EG: hang1 是通用class行 列是通过自定义night属性来表示列
<input type="text" night="2" class=“hang1”> <input type="text" night="3" class=“hang1”>
根据图片来说 有4个晚数 也就是4个model对应晚数的表结构 循环2-5晚 也就是下方循环
for(var i=2;i<6;i++){ //循环需要的列的model数量
//定义匿名小model
var hotelUpgradeRate={};
hotelUpgradeRate.Id=0;
hotelUpgradeRate.CategoryId=categoryId;
hotelUpgradeRate.SeasonId=seasonId;
hotelUpgradeRate.Night=i;
//根据行class 以及列自定义属性匹配晚数 然后赋值
$(".hang1").each(function(){
var night=$(this).attr("night");
if(night==i){
hotelUpgradeRate.SellingRates=$(this).val();
}
});
hotelUpgradeRateArray.push(hotelUpgradeRate);
}