Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C#ASP.Net MVC中更新子列表时出现问题_C#_Asp.net Mvc_Collections - Fatal编程技术网

在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;
          }

         }