Поскольку у вас строго типизированное представление, вы можете сделать так, чтобы ваш метод [HttpPost]
принял тот же тип, что и переменная, например:
[HttpPost]
public ActionResult Create(Product model)
{
if (ModelState.IsValid)
{
// add new product
.... ????
}
}
DefaultModelBinder
примет возвращенные значения и вставитих в вашу строго типизированную модель.Viola!
Пока модель для вашего шаблона для вашей коллекции тегов имеет тип string
, MVC будет выполнять итерацию всей коллекции, чтобы ее можно было связать (хотя вам, возможно, придется изменить с ICollection
в список).
ОБНОВЛЕНИЕ
Как мы уже обсуждали в комментариях, вместо создания одного текстового поля для тега, создайте отдельную ViewModel, в которой есть все ваши другие продукты.properties.
Вместо использования List<string> Tags
в вашей ViewModel создайте это свойство:
public string TagCollection { get; set; }
В вашем представлении есть текстовое поле для TagCollection
.Затем в действии «Создать» вы можете проанализировать строку TagCollection в своем списке тегов.