Хочу реализовать такой алгоритм.
Есть класс Properties
у него есть свойство которое ссылается на категории
так же есть поле SerealNumber
public class Properties : Entity
{
[Display(Name = "Название")] public string Name { get; set; }
public string CategoryId { get; set; }
[Display(Name = "Категория")]
public Category Category { get; set; }
public string SerialNumber { get; set; }
}
Так же есть метод Create
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Create([Bindя("Name,CategoryId,SerialNumber,Id")] Properties properties)
{
if (ModelState.IsValid)
{
_context.Add(properties));
await _context.SaveChangesAsync();
return RedirectToAction(nameof(Index));
}
ViewData["CategoryId"] = new SelectList(_context.Categories, "Id", "Name", properties.CategoryId);
return View(properties));
}
Мне нужно сделать так, что при условии если категория равна к примеру (Бытовая техника), то появлялось поле SerialNumber, если к примеру (сантехника), то поле не появлялось.
Как это можно реализовать?
Я пробовал передавать значение
var comp = _context.Categories.Where(n => n.Name == "Компьютеры");
ViewData["Category"] = comp;
И потов в view
делал так
@using (@Html.BeginForm())
{
if (ViewBag.Category == "Бытовая техника")
{
<div class="form-group">
<label asp-for="SerialNumber" class="control-label"></label>
<input asp-for="SerialNumber" class="form-control"/>
<span asp-validation-for="SerialNumber" class="text-danger"></span>
</div>
}
}
Так же пробовал просто во view так
@if (Model.Properties .Name == "Бытовая техника")
{
<div class="form-group">
<label asp-for="SerialNumber" class="control-label"></label>
<input asp-for="SerialNumber" class="form-control"/>
<span asp-validation-for="SerialNumber" class="text-danger"></span>
</div>
}
Голову сломал, не могу понять как реализовать. Вроде простая задача, но не как не могу решить.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости