svibuk says:
foreach
(var id
in
selectIds)
{
model = db.Orders.Where(u => u.OrderId == id).Select(u =>
new
SelectedOrderViewModel
{
ProductName= u.ProductName= ,
Qty= u.Qty ,
Address= u.Address,
}).ToList();
}
you are looping through foreach and assigning the model every selected item instead of adding to it.
1st time loop comes and model gets assigned a value then again loop runs then instead of adding new value to model existing value gets replaced by new so thats why you are getting last value selected in your model.
Like below you can store all the selected values
List<YourModel> models = new List<YourModel>();
var checkedData = model.Where(m => m.IsChecked == true).ToList();
var selectIds = checkedData.Select(m => m.OrderId).ToArray();
if (selectIds != null)
{
foreach (var id in selectIds)
{
model = db.Orders.Where(u => u.OrderId == id).Select(u => new SelectedOrderViewModel
{
ProductName= u.ProductName= ,
Qty= u.Qty ,
Address= u.Address,
});
models.Add(model);
}
}