많이 검색했으며이 질문이 여러 번 요청되었지만 내 문제의 적절한 해결 방법을 찾지 못했다는 것을 알고 있습니다.사용자 지정 목록 개체를 다른 목록 개체로 복사
나는 구조 다음
namespace Website.Models
{
public class DynamicControlModel
{
}
public class QuestionnairModel
{
public long QuestionId { get; set; }
public string Question { get; set; }
public List<QuestionnairOptionModel> QuestionnairOption { get; set; }
}
public class QuestionnairOptionModel
{
public long OptionId { get; set; }
public string OptionString { get; set; }
public bool OptionControl1 { get; set; }
public string OptionControl2 { get; set; }
}
}
와 클래스를 가지고 있고이 수행하려고 : 난 결과 개체에서 항목을 제거 할 때이뿐만 아니라 모델에서 제거됩니다되어 여기
이public ActionResult ProcessRequest(List<QuestionnairModel> model)
{
List<QuestionnairModel> result = new List<QuestionnairModel>(model);
result = result.Where(x => x.QuestionnairOption.Any(l => l.OptionControl1 == true)).ToList();
result.ForEach(x => x.QuestionnairOption.RemoveAll(m => m.OptionControl1 == false));
return View(@"~\Views\Home\About.cshtml", model);
}
문제를 . 결과 개체의 변경으로 인해 모델 개체가 영향을받지 않아야합니다.
저는 클래스가 기본적으로 참조로 전달된다는 것을 알고 있기 때문에 그것이 객체에서 모두 제거되는 이유입니다.
문제를 해결할 수있는 값으로 전달할 수있는 방법을 알려주세요.
http://stackoverflow.com/questions/78536/deep-cloning-objects –