Имея некоторые проблемы с пониманием того, как создавать и редактировать коллекцию строк с использованием формы. Я пробовал использовать EditorFor, но, похоже, ему не повезло и вместо этого вносит следующий текст в форму. Я пытаюсь редактировать коллекцию «Ключевые слова».Создание и редактирование коллекции строк с использованием MVC3
System.Collections.Generic.HashSet`1[MVCModuleStarter.Models.Module]System.Collections.Generic.HashSet`1[MVCModuleStarter.Models.Module]
Это Html я использую EditorFor в с рабочим EditorFor используется на шнурке для справки.
<div class="form-group">
@Html.LabelFor(model => model.Category, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.Category, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.Category, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.Keywords, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.Keywords, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.Keywords, "", new { @class = "text-danger" })
</div>
</div>
Это метод Edit внутри моего контроллера;
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit([Bind(Include = "ModuleId,ModuleTitle,ModuleLeader,ModuleDescription,ImageURL,Category,Keywords")] Module module)
{
if (ModelState.IsValid)
{
int moduleId = module.ModuleId;
repository.UpdateModule(module);
repository.Save();
return RedirectToAction("Details", new { Id = moduleId });
}
return View(module);
}
Это Модель для справки;
[Required, StringLength(20), Display(Name = "Category")]
public string Category { get; set; }
public virtual ICollection<Keyword> Keywords { get; set; }
Модель Ключевое слово
public class Keyword
{
[Key, Display(Name = "ID")]
public int KeywordId { get; set; }
[Required, StringLength(100), Display(Name = "Keyword")]
public string KeywordTerm { get; set; }
public virtual ICollection<Module> Modules { get; set; }
}
}
Любая помощь будет удивительно, все еще новичок в этом! Благодаря!
Вам нужно создать 'EditorTemplate' для TYPEOF' Keyword' или использовать 'for' петлю, чтобы сделать каждое свойство' Keyword' но вам нужно разместить модель для 'Keyword', если вам нужна дальнейшая помощь –
@StephenMuecke Просто добавила модель для ключевого слова внизу, я думаю, что я правильно слежу за вами, но дальнейшая помощь будет оценена! Благодаря! – HotLovingCoder3