0
下面是我的控制器的一部分後,我的動作控制器沒有影響:的UpdateModel有發佈新的價值
[Authorize]
public ActionResult Edit(string IdAffaire)
{
Affaire affaire = this.repository.Retrieve(IdAffaire);
if (affaire == null)
{
return Redirect("~/");
}
var model = new AffaireEditViewModel
{
Affaire = affaire,
Status = repository.RetrieveStatus().Select(o => new SelectListItem { Text = o.Name, Value = o.IdStatus.ToString() }).ToList(),
};
return View(model);
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(string idAffaire, AffaireEditViewModel model)
{
Affaire affaire = repository.Retrieve(idAffaire);
if (!ModelState.IsValid)
{
return this.Edit(model.Affaire.IdAffaire);
}
try
{
UpdateModel(affaire);
repository.Save();
return RedirectToAction("Detail", "Affaire", new { idAffaire = idAffaire });
}
catch
{
return View(affaire);
}
}
下面是我的編輯視圖模型:
public class AffaireEditViewModel
{
public Affaire Affaire { get; set; }
public IEnumerable<SelectListItem> Status { get; set; }
}
下面是我的AFFAIRE模型:
public class Affaire
{
[Key]
public string IdAffaire { get; set; }
public string Title { get; set; }
public string Description { get; set; }
public string Username { get; set; }
public Int16? IdStatus { get; set; }
public Int16? IdLabel { get; set; }
// ....
}
我的問題是,在發佈新VALU時es在我的編輯視圖頁面中,名爲Edit的動作以正確的值很好地觸發(發佈),但UpdateModel(辦公室)沒有任何效果!任何幫助是極大的讚賞。
EDITED
我發現這個問題。
我需要從:
UpdateModel(affaire);
要這樣:
UpdateModel(affaire,"Affaire");
我想這是因爲我的視圖模型是由幾件事情,我需要明確地告訴我的UpdateModel函數使用哪個元素。有人可以證實嗎?
正如你所見,我編輯我的問題,因爲我找到了解決方案。 – Bronzato 2011-05-07 16:42:09