Я хочу отфильтровать данные, когда пользователь установит несколько флажков и отобразить данные из этого представления (1) в другое представление (2)
Я попытался использовать модель и выполнить цикл в Controller (2), чтобы получить значение checboxКогда пользователь проверяет несколько чекбоксов,
У меня проблема с циклом в контроллере при возврате ... Я не могу вернуть несколько данных, когда пользователь установил несколько флажков.
Возвращает только данные последнего цикла
Контроллер
ContainerTrackingSystemEntities db = new ContainerTrackingSystemEntities();
BaseModel modelResult = new BaseModel();
BaseModel model = new BaseModel();
// GET: CurrentContainerReport
public ActionResult Index()
{
//if (Session["User"] == null)
//{
// SetAlert("Vui lòng đăng nhập", "info");
// return RedirectToAction("LoginUsers", "Users");
//}
ViewBag.PortCode = db.APS_Inventory_Port.OrderBy(n => n.Code);
//model.aPS_Inventory_Containers = (from c in db.APS_Inventory_Container select c).GroupBy(n => n.Size).Select(n => n.FirstOrDefault()).Distinct().ToList();
model.aPS_Inventory_OwnerAgentss = (from o in db.APS_Inventory_OwnerAgent select o).OrderBy(n => n.Code).ToList();
model.aPS_Inventory_Portss = (from p in db.APS_Inventory_Port select p).OrderBy(n => n.Code).ToList();
model.aPS_Inventory_Containerss = (from c in db.APS_Inventory_Container select c).GroupBy(n => n.Size).Select(n => n.FirstOrDefault()).OrderBy(n => n.Size).ToList();
return View(model);
}
[HttpPost]
public ActionResult Index(BaseModel model)
{
TempData["model"] = model;
return RedirectToAction("Search");
}
[HttpGet]
public ActionResult Search(BaseModel model)
{
model = (BaseModel) TempData["model"];
List<APS_Inventory_Container> aPS_Inventory_Containers = new List<APS_Inventory_Container>();
for (int i = 0; i < model.aPS_Inventory_OwnerAgentss.Where(n => n.IsCheckedOwnerAgent == true).Count(); i++)
{
bool isChecked = model.aPS_Inventory_OwnerAgentss[i].IsCheckedOwnerAgent;
Guid? OwnerID = model.aPS_Inventory_OwnerAgentss[i].OwnerAgentID;
aPS_Inventory_Containers = (from c in db.APS_Inventory_Container
where c.PortCode == model.aps_inventory_port.Code && c.OwnerAgentID == OwnerID
select c).ToList();
}
return View(aPS_Inventory_Containers);
}
Просмотр индекса
@for (int i = 0; i < Model.aPS_Inventory_OwnerAgentss.Count(); i++)
{
<tr>
<td>
@Html.DisplayFor(item => item.aPS_Inventory_OwnerAgentss[i].Code)
</td>
<td>
@Html.CheckBoxFor(item => item.aPS_Inventory_OwnerAgentss[i].IsCheckedOwnerAgent, new { @checked = "checked" })
@Html.HiddenFor(item => item.aPS_Inventory_OwnerAgentss[i].OwnerAgentID)
@Html.HiddenFor(item => item.aPS_Inventory_OwnerAgentss[i].Code)
</td>
</tr>
}
Просмотр поиска
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(itemSelect => item.Code)
</td>
<td>
@Html.DisplayFor(itemSelect => item.Status)
</td>
<td>
@Html.DisplayFor(itemSelect => item.PortCode)
</td>
<td>
@Html.DisplayFor(itemSelect => item.Size)
</td>
<td>
@Html.DisplayFor(itemSelect => item.Type)
</td>
<td>
@Html.DisplayFor(itemSelect => item.DateofManufactured)
</td>
<td>
@Html.DisplayFor(itemSelect => item.OwnerAgentID)
</td>
<td>
@Html.DisplayFor(itemSelect => item.Comments)
</td>
<td>
@Html.DisplayFor(itemSelect => item.approve)
</td>
</tr>
}
и базовая модель
public class BaseModel
{
public APS_Inventory_Bill aps_inventory_bill { get; set; }
public APS_Inventory_BillDetails aps_inventory_billdetails { get; set; }
public APS_Inventory_Container aps_inventory_container { get; set; }
public APS_Inventory_Depot aps_inventory_depot { get; set; }
public APS_Inventory_Port aps_inventory_port { get; set; }
public APS_Inventory_OwnerAgent aps_inventory_owneragent { get; set; }
public List<APS_Inventory_Container> aPS_Inventory_Containerss { get; set; }
public List<APS_Inventory_OwnerAgent> aPS_Inventory_OwnerAgentss { get; set; }
public List<APS_Inventory_Port> aPS_Inventory_Portss { get; set; }
public List<APS_Inventory_Bill> aPS_Inventory_Billss { get; set; }
public List<APS_Inventory_BillDetails> aPS_Inventory_BillDetailss { get; set; }
}
И если у кого-то есть другой способ, пожалуйста, дайте мне знать, спасибо!