在C#ASP.Net MVC中更新子列表时出现问题
我看不出它有什么不起作用的理由。你确定你用正确的方法测试它吗 我认为最好改进代码并测试空值:在C#ASP.Net MVC中更新子列表时出现问题,c#,asp.net-mvc,collections,C#,Asp.net Mvc,Collections,我看不出它有什么不起作用的理由。你确定你用正确的方法测试它吗 我认为最好改进代码并测试空值: var dayExists = daysModel.Where(x => x.day_name == day_name).FirstOrDefault(); if(dayExists==null) { PayRateDaysModel days = new PayRateDaysModel(); days.day_name = day_name; days.multipl
var dayExists = daysModel.Where(x => x.day_name == day_name).FirstOrDefault();
if(dayExists==null)
{
PayRateDaysModel days = new PayRateDaysModel();
days.day_name = day_name;
days.multiplier = rate_list;
daysModel.Add(days);
}
else
{
//update
dayExists.day_name = "abc";
dayExists.multiplier.FirstOrDefault().rate_multiplier = 1;
}
根据您向我们展示的内容,我认为您正在上面的某个位置创建rate_列表,如rate_list=new rate list(…),并将其设置为以天为单位的所有天数。乘数=rate_list;。由于您没有为每个元素重新创建该rate_列表,因此任何时候您在一天中更改它时,您也会更改所有其他元素的rate_列表。所以你应该像今天这样做
检查此链接:您想随机更新(或)哪一个?这是什么=>
FirstOrDefaulttt()
我没有看到任何具有此名称的Func!我只想更新乘数列表的第一个元素,但它正在更新所有元素。再次检查我已编辑代码。“检查我的编辑”可能有重复。我试图更准确地解释。
var dayExists = daysModel.Where(x => x.day_name == day_name).FirstOrDefault();
if(dayExists==null)
{
PayRateDaysModel days = new PayRateDaysModel();
days.day_name = day_name;
days.multiplier = rate_list;
daysModel.Add(days);
}
else
{
//update
dayExists.day_name = "abc";
dayExists.multiplier.FirstOrDefault().rate_multiplier = 1;
}
var dayExists = daysModel.Where(x => x.day_name == day_name).FirstOrDefault();
if(dayExists==null)
{
PayRateDaysModel days = new PayRateDaysModel();
days.day_name = day_name;
days.multiplier = rate_list;
daysModel.Add(days);
}
else
{
//update
dayExists.day_name = "abc";
var firstMultiplier= dayExists.multiplier.FirstOrDefault();
if( firstMultiplier!=null)
{
firstMultiplier.rate_multiplier = 1;
}
}