我必須有一些設置不正確,因爲我無法獲得的UpdateModel功能基礎上通過的FormCollection傳遞信息,以正確更新我的模型。的UpdateModel沒有更新我的模型
我的視圖的樣子:
@model NSLM.Models.Person
@{
ViewBag.Title = "MVC Example";
}
<h2>My MVC Model</h2>
<fieldset>
<legend>Person</legend>
@using(@Html.BeginForm())
{
<p>ID: @Html.TextBox("ID", Model.ID)</p>
<p>Forename: @Html.TextBox("Forename", Model.Forename)</p>
<p>Surname: @Html.TextBox("Surname", Model.Surname)</p>
<input type="submit" value="Submit" />
}
</fieldset>
我的模式是:
namespace NSLM.Models
{
public class Person
{
public int ID;
public string Forename;
public string Surname;
}
}
和我的控制器:
[HttpPost]
public ActionResult Details(FormCollection collection)
{
try
{
// TODO: Add update logic here
Models.Person m = new Models.Person();
// This doesn't work i.e. the model is not updated with the form values
TryUpdateModel(m);
// This does work
int.TryParse(Request.Form["ID"], out m.ID);
m.Forename = Request.Form["Forename"];
m.Surname = Request.Form["Surname"];
return View(m);
}
catch
{
return View();
}
}
,你可以看到,如果我手動分配每個屬性它工作正常,所以我沒有設置什麼可以讓模型更新表單值?
感謝,
馬克
謝謝,這是我的情況。 – ca8msm 2012-08-13 07:37:19