텍스트 상자와 DropDownListFor가있는 편집보기를 설정하려고합니다. DDLF를 채우는 방법을 알아 냈습니다. 렌더링 된 값과 게시 된 값은 정확하지만 제대로 업데이트 할 수없는 모델 인 것 같습니다.UpdateModel이 ViewModel을 통해 모델을 업데이트하지 않고 DropDownListFor의 속성을 업데이트하지 않습니다.
업데이트하려는 개체가 LINQtoSQL에서 생성되고 데이터베이스에 외래 키 열이 있습니다. LINQtoSQL 클래스에서 "포함"관계가 발생했습니다. DB의 컬럼과 그것이 나타내는 오브젝트를 나타내는 ID 속성을 얻을 수 있습니다. 또한
[HttpPost]
public ActionResult Edit(int id, FormCollection collection)
{
var zupanija = repo.ZupanijaById(id);
var drzava = new repoDrzava().DrzavaById(Convert.ToInt32(collection["Zupanija.DrzavaID"]));
zupanija.Drzava = drzava;
}
을 내가하려고하면 내가 업데이트를 할 알아 낸
zupanija = new Zupanija(); //object that needs to be updated
zupanija.Drzava; //object that i want to change to make the update
zupanija.DrzavaID; //Property linked to object that should change
유일한 방법은 내가 다음과 같이 변경하고자하는 개체를 가져 DDLF에서 값을 얻을 그것을 사용하는 것입니다 이 같은 ID 필드를 업데이트 한 후 내가 folowing 오류 얻을 :
zupanija.DrzavaID = Convert.ToInt32(collection["Zupanija.DrzavaID"]);
오류 : 던져 새로운 System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException을();
이것은 매우 비열한 방법이며, UpdateModel을 작동 시키려고합니다.