これはeditcarに対する私の見解です:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<J2V.Models.vehicule>" %>
//code
<% using (Html.BeginForm("editcar", "Agence", FormMethod.Post, new { @class = "search_form" })) { %>
<%: Html.ValidationSummary(true) %>
<fieldset>
<legend>vehicule</legend>
// Those colonne will not be modified
<%: Html.HiddenFor(model => model.Matv) %>
<%: Html.HiddenFor(model => model.Idag) %>
<%: Html.HiddenFor(model => model.Idcat) %>
<%: Html.HiddenFor(model => model.idmarque) %>
<%: Html.HiddenFor(model => model.modele) %>
//Colonne to edit code
<p>
<input type="submit" value="Save" />
</p>
</fieldset>
<% } %>
これは私のコントローラーのアクションです:
[HttpPost]
public ActionResult editcar(Models.vehicule model)
{
if (ModelState.IsValid)
{
entity.vehicule.AddObject(model);
entity.ObjectStateManager.ChangeObjectState(model, System.Data.EntityState.Modified);
entity.SaveChanges();
return View("index", new { id = model.Idag });
}
else
return View();
}
ボタンをクリックすると、次のUpdate
エラーが発生します。
System.InvalidOperationException:ディクショナリに渡されるモデルアイテムのタイプは'<> f__AnonymousType21
1 [System.String]' but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable
[J2V.Models.vehicule]'です。