Я очень стараюсь обновить бизнес-объект внутри List <>.
Я использую список флажков
- При нажатии элемента списка флажков
- Я проверяю, существует ли он, если да, я отмечаю его как Грязный (означает, что пользователь снимает отметку с элемента)
Если нет, я добавляю новый элемент в список (означает, что пользователь щелкает новый элемент)
и сохранить его в состоянии просмотра
Как обновить общий список с помощью грязного объекта?
При обновлении формы я должен составлять отдельные списки грязных и новых объектов для отправки на слой БД или рекомендовать другой способ?
Вот мой код, извините за плохую логику. Я просто начинающий = (
protected void cblExclusions_SelectedIndexChanged(object sender, EventArgs e)
{
if (cblExclusions.SelectedIndex != -1)
{
ftExclusions myExclusion=new ftExclusions(); // Business object
ftExclusionsList myExclusionList=new ftExclusionsList(); // Business Obj. List
int excId = Convert.ToInt32(cblExclusions.SelectedValue.ToString()); // value of checkbox list item which is clicked
ftExclusionsList tempList = (ftExclusionsList)ViewState["ftExclusionList"];
ftExclusions isExist =tempList.Find(delegate(ftExclusions tmpExclusion)
{
return (tmpExclusion.excluId == excId);
});
if (isExist != null)
{
isExist.isDirtyExclusion(); // Mark as dirty
tempList. // stuck here I don't grasp how to save this back to the list
}
else
{
myExclusion = new ftExclusions();
myExclusion.excluId = excId;
myExclusion.fTrtID = Convert.ToInt32(lblTreatyNo.Text);
myExclusion.ftExcluId = -1; //new record
myExclusion.isNewExclusion(); // Mark as new
tempList.Add(myExclusion);
}
ViewState["ftExclusionList"] = tempList;
}
}