В моем приложении MVC у меня есть форма, которую я хочу отправить данные на несколько таблиц. Мне было интересно, как я могу это достичь? Вот код для моего контроллера, а также код для моего просмотра.Опубликовать данные для нескольких таблиц MVC EF6
Контроллер
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "id_index,createddate,details,options")] tbl_info tbl_info)
{
if (ModelState.IsValid)
{
db.tbl_info.Add(tbl_info);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(tbl_info);
}
Просмотр
@using (Html.BeginForm())
{@Html.AntiForgeryToken()
<div class="form-horizontal">
<h4>The Form</h4>
<hr />
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div class="form-group">
@Html.LabelFor(model => model.createddate, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.createddate, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.createddate, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.details, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.TextAreaFor(model => model.details, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.details, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.options, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.TextAreaFor(model => model.options, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.options, "", new { @class = "text-danger" })
</div>
</div>
Пользователь может добавить много вариантов (входные параметры могут быть клонированы с помощью JQuery), и мне нужно те варианты, которые будут размещены в отдельной таблице, которая имеет от одного до многих отношений с tbl_info. Кто-нибудь знает, как это можно сделать?
Спасибо за ваш ответ. Как контроллер справится с этим? – Yanayaya
Очень похоже на ваш исходный код, см. Мое редактирование. –
Благодарим за ответ. Если я добавлю это в свой код, я получу ошибку в своем представлении: Не могу применить индексирование с [] к выражению типа «System.Collections.Generic.ICollection Я пытался сменить ICollection на IList, это исправляет ошибку, однако, когда я отправьте мою форму, данные фактически не отправляются в базу данных. – Yanayaya