Как я могу получить значения ничья, продолжительность, старт из коллекции форм с 2-х формах
Я занимаюсь разработкой одного приложения в asp.net в MVC. У меня есть панель вкладок на моем представлении, в которой я связываю две таблицы данных jquery, используя разбиение на страницы на стороне сервера на каждой вкладке. У меня есть пользовательские панели поиска над каждой таблицей данных. эти панели поиска имеют тег формы и одну кнопку поиска. Всякий раз , когда я нажимаю на кнопку поиска с первой вкладки, я получаю значения из
Request.Form.GetValues("draw").FirstOrDefault(), Но когда я нажимаю кнопку поиска на второй форме, я не могу получить draw, length и start значения datatable.
Вот моя первая вкладка форма панели поиска
@using (Html.BeginForm("SearchFilter", "Store", FormMethod.Post)) { <div class="row"> <div class="col-lg-3"> <label>Search</label> <div class="form-group"> @Html.TextBoxFor(model => model.SearchPanel.SearchText, new { @class = "form-control" }) </div> </div> <div class="col-lg-3"> <label>Brand</label> <div class="form-group"> @Html.ListBoxFor(model => model.SearchPanel.BrandSelected, new SelectList(Model.SearchPanel.Brands, "Id", "Name"), new { htmlAttributes = new { @class = "form-control" } }) </div> </div> <div class="col-lg-4"> <label>City</label> <div class="form-group"> @Html.ListBoxFor(model => model.SearchPanel.CitySelected, new SelectList(Model.SearchPanel.Cities, "Id", "Name"), new { @class = "form-control" }) </div> </div> <div class="col-lg-2"> <button id="btnSearch" type="submit" class="btn btn-info btnshadow">Search</button> </div> </div> }
и вот мой второй вкладке на панели поиска
<div class="row"> <div class="col-lg-3"> <label>Search</label> <div class="form-group"> @Html.TextBoxFor(model => model.SearchPanelMaster.SearchText, new { @class = "form-control", id = "SearchTextMaster" }) </div> </div> <div class="col-lg-3"> <label>Brand</label> <div class="form-group"> @Html.ListBoxFor(model => model.SearchPanelMaster.BrandSelected, new SelectList(Model.SearchPanelMaster.Brands, "Id", "Name"), new { @class = "form-control", id = "BrandSelectedMaster" }) </div> </div> <div class="col-lg-4"> <label>City</label> <div class="form-group"> @Html.ListBoxFor(model => model.SearchPanelMaster.CitySelected, new SelectList(Model.SearchPanelMaster.Cities, "Id", "Name"), new { @class = "form-control", id = "CitySelectedMaster" }) </div> </div> <div class="col-lg-2"> <button id="btnSearchMaster" type="submit" class="btn btn-info btnshadow">Search</button> </div> </div> }
В контроллере у меня есть,
[HttpPost] public ActionResult SearchFilter(StoreListViewModel model) { if (Session["AccessInfo"] == null) { return RedirectToAction("SessionTimeOut", "Home"); } ViewBag.Tab = ""; TempData["Query"] = model; TempData.Keep(); model.SearchPanel.Cities = new SellerBl().GetCities(); model.SearchPanel.Brands = new BrandBl().GetBrands(Constants.Status.Active); model.SearchPanelMaster.Cities = new SellerBl().GetCities(); model.SearchPanelMaster.Brands = new BrandBl().GetBrands(Constants.Status.Active); ViewBag.Success = false; return View("StoreList", model); } public ActionResult SearchFilterMaster(StoreListViewModel model) { if (Session["AccessInfo"] == null) { return RedirectToAction("SessionTimeOut", "Home"); } ViewBag.Tab = ""; TempData["QueryMaster"] = model; TempData.Keep(); model.SearchPanel.Cities = new SellerBl().GetCities(); model.SearchPanel.Brands = new BrandBl().GetBrands(Constants.Status.Active); model.SearchPanelMaster.Cities = new SellerBl().GetCities(); model.SearchPanelMaster.Brands = new BrandBl().GetBrands(Constants.Status.Active); ViewBag.Success = false; return View("StoreList", model); }
[HttpPost] public ActionResult LoadMasterData() { ViewBag.Tab = ""; var draw = Request.Form.GetValues("draw").FirstOrDefault(); var length = Request.Form.GetValues("length").FirstOrDefault(); var start = Request.Form.GetValues("start").FirstOrDefault(); // string searchby = Request.Form.GetValues("search[value]").FirstOrDefault(); int pageSize = length != null ? Convert.ToInt32(length) : 0; int skip = start != null ? Convert.ToInt16(start) : 0; int pageNo = skip == 0 ? 1 : (skip / pageSize) + 1; var stores = new EPagination<StoreViewModel>(); var model = new StoreListViewModel(); if (TempData["QueryMaster"] != null) { model = (StoreListViewModel)TempData["QueryMaster"]; } ESearchRequest request = new ESearchRequest() { ItemCount = pageSize, Name = model.SearchPanelMaster.SearchText != null ? model.SearchPanelMaster.SearchText : "", PageNumber = pageNo, BrandIds = model.SearchPanelMaster.BrandSelected != null ? model.SearchPanelMaster.BrandSelected.ToList() : null, CityIds = model.SearchPanelMaster.CitySelected != null ? model.SearchPanelMaster.CitySelected.ToList() : null }; try { UserProfileViewModel userProfile = (UserProfileViewModel)System.Web.HttpContext.Current.Session["UserProfile"]; if (userProfile.Roles.Any(r => r.RoleName.Equals(Role.OperationAdmin))) { stores = storeBl.GetStores(Constants.Status.Pending, request); } else if (userProfile.Roles.Any(r => r.RoleName.Equals(Role.Operation))) { stores = storeBl.GetStores(Constants.Status.All, request); } else if (userProfile.Roles.Any(r => r.RoleName.Equals(Role.Viewer))) { stores = storeBl.GetStores(Constants.Status.All, request); } var data = stores.PageData; //approvalStores.OrderBy(x => x.Status).Skip(skip).Take(pageSize); return Json(new { draw, recordsFiltered = stores.TotalRecords, recordsTotal = stores.TotalRecords, data }, JsonRequestBehavior.AllowGet); } catch (Exception ex) { throw ex; } }
[HttpPost] public ActionResult LoadData() { ViewBag.Tab = ""; var draw = Request.Form.GetValues("draw").FirstOrDefault(); var length = Request.Form.GetValues("length").FirstOrDefault(); var start = Request.Form.GetValues("start").FirstOrDefault(); // string searchby = Request.Form.GetValues("search[value]").FirstOrDefault(); int pageSize = length != null ? Convert.ToInt32(length) : 0; int skip = start != null ? Convert.ToInt16(start) : 0; int pageNo = skip == 0 ? 1 : (skip / pageSize) + 1; var approvalStores = new EPagination<ApprovalStoreViewModel>(); var model = new StoreListViewModel(); if (TempData["Query"] != null) { model = (StoreListViewModel)TempData["Query"]; } ESearchRequest request = new ESearchRequest() { ItemCount = pageSize, Name = model.SearchPanel.SearchText !=null? model.SearchPanel.SearchText : "", PageNumber = pageNo, BrandIds = model.SearchPanel.BrandSelected != null ? model.SearchPanel.BrandSelected.ToList() : null, CityIds = model.SearchPanel.CitySelected != null ? model.SearchPanel.CitySelected.ToList() : null }; try { UserProfileViewModel userProfile = (UserProfileViewModel)System.Web.HttpContext.Current.Session["UserProfile"]; if (userProfile.Roles.Any(r => r.RoleName.Equals(Role.OperationAdmin))) { approvalStores = storeBl.GetApprovalStores(Constants.Status.Pending, request); } else if (userProfile.Roles.Any(r => r.RoleName.Equals(Role.Operation))) { approvalStores = storeBl.GetApprovalStores(Constants.Status.All, request); } else if (userProfile.Roles.Any(r => r.RoleName.Equals(Role.Viewer))) { approvalStores = storeBl.GetApprovalStores(Constants.Status.All, request); } var data = approvalStores.PageData; //approvalStores.OrderBy(x => x.Status).Skip(skip).Take(pageSize); return Json(new { draw, recordsFiltered = approvalStores.TotalRecords, recordsTotal = approvalStores.TotalRecords, data }, JsonRequestBehavior.AllowGet); } catch (Exception ex) { throw ex; } }
всякий раз, когда я нажимаю на вторую кнопку поиска панели поиска, я не получаю
var draw = Request.Form.GetValues("draw").FirstOrDefault(); var length = Request.Form.GetValues("length").FirstOrDefault(); var start = Request.Form.GetValues("start").FirstOrDefault();
такие ценности
Что я уже пробовал:
Я не знаю, почему это происходит, Должен ли я удалить панель вкладок или сделать что-то еще