Я пытаюсь получить форму с одним представлением, и я получил 2 таблицы, я пытаюсь получить 2.table со вторым отношением. Я получал идентификаторы, которые выбирают клиенты. Но когда я пытаюсь вставить метод post с другой таблицей давая мне ошибку.
Кроме того, мой personalId всегда получает 0.Insert метод добавляет базу данных после этого сохранить изменения.
Вот мой контроллер:
[HttpGet]
public ActionResult Add()
{
FormDetailViewModel model = new FormDetailViewModel();
List<SelectListItem> FormList = new List<SelectListItem>();
List<SelectListItem> İtemList = new List<SelectListItem>();
List<SelectListItem> TypeList = new List<SelectListItem>();
foreach(Form item in formRep.List().ProcessResult)
{
FormList.Add(new SelectListItem { Value =
item.FormId.ToString(), Text = item.TeslimEden });
}
foreach(Item item in itemRep.List().ProcessResult)
{
İtemList.Add(new SelectListItem { Value =
item.ItemId.ToString(), Text = item.ItemDesc });
}
foreach(CheckListType item in typeRep.List().ProcessResult)
{
TypeList.Add(new SelectListItem { Value =
item.CheckListTypeId.ToString(), Text = item.CheckListType1 });
}
model.checkLists = TypeList;
model.FormViewList = FormList;
model.İtems = İtemList;
return View(model);
}
[HttpPost]
public ActionResult Add(FormDetailViewModel model)
{
Personal personal = new Personal();
personal.PersonalAdı = model.PersonalName;
personal.PersonalDepartmanı = model.PersonalDepartment;
personal.IseGırısTarihi = model.IseGirisTarihi;
personal.PersonalId = Convert.ToInt32(model.PersonId);
personalRep.Insert(personal);
fDetailRep.Insert(model.FormDetail);
return View(model);
}
Вот моя модель:
public FormDetail FormDetail { get; set; }
public IEnumerable<SelectListItem> FormViewList { get; set; }
public IEnumerable<SelectListItem> checkLists { get; set; }
public IEnumerable<SelectListItem> İtems { get; set; }
[Display(Name = "PersonalAdı")]
public string PersonalName { get; set; }
[Display(Name = "PersonalDepartmanı")]
public string PersonalDepartment { get; set; }
[Display(Name = "IseGirisTarihi")]
public string IseGirisTarihi { get; set; }
[Key]
public int PersonId { get; set; }
Вид:
@model TodoListApp.Areas.User.Models.ViewModel.FormDetailViewModel
@using (Html.BeginForm())
{
<table class="table table-hover">
<tr>
<td>
@Html.Label("PersonalAdı")
</td>
<td>@Html.EditorFor(model => model.PersonalName)</td>
</tr>
<tr>
<td>
@Html.DisplayNameFor(model => model.FormDetail.Form)
</td>
<td>
@Html.DropDownListFor(model => model.FormDetail.FormId,
Model.FormViewList)
</td>
</tr>
<tr>
<td>
@Html.DisplayNameFor(model => model.FormDetail.CheckListType)
</td>
<td>
@Html.DropDownListFor(model =>
model.FormDetail.CheckListTypeId, Model.checkLists, new { @onchange =
"createlement()" })
</td>
</tr>
<tr>
<td colspan="2" style="padding-top:40px;">
<input type="submit" value="Save" class="btn btn-info" />
</td>
</tr>
</table>
}
SqlException: Нарушение ограничения PRIMARY KEY 'PK_FormDetail'. Не могу
вставьте дубликат ключа в объект 'dbo.FormDetail'. Дубликат значения ключа
(0).
Заявление было прекращено.