Я создаю фильтр из цветов.мы, я могу выбрать Цветы по цвету или по размеру или начальной цене. Это моя модель фильтра
public class FilterController : Controller
{
// GET: FilterModel
private asp6Entities db = new asp6Entities();
public ActionResult Index()
{
FilterModel model = new FilterModel();
var color = db.COLORs.ToList().Select(s => new SelectListItem
{
Text = s.COLOR_NAME,
Value = s.COLOR_ID.ToString()
});
var Size = db.FLOWERs.ToList().Select(s => new SelectListItem
{
Text = s.FLOWER_SIZE,
Value = s.COLOR_ID.ToString()
});
var StartPrice = db.FLOWERs.ToList().Select(s => new SelectListItem
{
Text = s.FLOWER_PRICE.ToString(),
Value = s.COLOR_ID.ToString()
});
var EndPrice = db.FLOWERs.ToList().Select(s => new SelectListItem
{
Text = s.FLOWER_PRICE.ToString(),
Value = s.COLOR_ID.ToString()
});
return PartialView("~/Views/Shared/_FilterForm.cshtml", new FilterModel { AllColorOptions = color}, new FilterModel { AllSizeOptions = Size }, new FilterModel { AllStartingPriceOptions = StartPrice }, new FilterModel { AllEndingPriceOptions = EndPrice });
}
}
Я получаю эту ошибку из частичного возврата.
CS1501 C #Перегрузка метода не требует 5 аргументов
Это домашний контроллер:
[HttpPost]
public ActionResult Index(FilterModel fromColorFilter)
{
int SelectedColor = int.Parse(fromColorFilter.ColorSelected);
var allFlowers = db.FLOWERs.ToList();
List<FLOWER> result = new List<FLOWER>();
foreach (var flower in allFlowers)
{
if (flower.COLOR_ID == SelectedColor)
{
FLOWER model = new FLOWER();
model = flower;
result.Add(model);
}
}
return View(result);
}
Это мой _FilterForm частичный просмотр.
Я получаю выборбаза данных
<div class="FilterForm">
<form>
<input type="text" placeholder="Search.." name="search" class="SearchInput">
</form>
@using (Html.BeginForm("Index", "Home", FormMethod.Post))
{
<h3>Filter Products</h3>
<p>
Color:
@Html.DropDownListFor(s => s.ColorSelected, Model.AllColorOptions, "Please Choose a Color")
</p>
<p>
Size:
@Html.DropDownListFor(s => s.SizeSelected, Model.AllSizeOptions, "Please Choose a Size")
</p>
<p>
Price :
@Html.DropDownListFor(s => s.StartingPriceSelected, Model.AllStartingPriceOptions, "Please Choose a Size")) @Html.DropDownListFor(s => s.EndingPriceSelected, Model.AllEndingPriceOptions, "Please Choose a Size"))
</p>
<input type="submit" value="Filter" style="margin-left: 120px" />
}
И это модельная декларация. Используется
public class FilterModel
{
//declaring the colors selection
public string ColorSelected { get; set; }
//Creating the Size selection
public string SizeSelected { get; set; }
//Creating the starting price selection
public int StartingPriceSelected { get; set; }
//Creating Ends price Selection
public int EndingPriceSelected { get; set; }
//creating IEnumerable of all color options
public IEnumerable<SelectListItem> AllColorOptions { get; set; }
//creating IEnumerable of all Size Options
public IEnumerable<SelectListItem> AllSizeOptions { get; set; }
//creating IEnumerable of Starting Price Options
public IEnumerable<SelectListItem> AllStartingPriceOptions { get; set; }
//creating IEnumerable of Ending Price Options
public IEnumerable<SelectListItem> AllEndingPriceOptions { get; set; }
}