我希望我能夠很好地把這個問題放在一起。 在局部視圖我有一個鏈接,以創建操作:查看調用部分未提交表單數據
public ActionResult CreateProject()
{
return View("EditProject", new Project());
}
現在這個加載另一種觀點認爲,允許傳遞給它的空白模型的編輯。但是表單提交時它應該張貼到:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult EditProject(Project record)
{
if (ModelState.IsValid)
{
projectRepo.saveProject(record);
return View("Close");
}
else
{
return View("EditProject");
}
}
此方法適用於許多表和編輯工作的行動一樣好了同樣的觀點。但只有創建操作(使用空白模型)時,表單會一直調用create操作,因爲我使用調試器進行跟蹤。
一個同事已經解決了這個問題,所以:
[AcceptVerbs(HttpVerbs.Get)]
public ViewResult EditProject(int id)
{
Project project = null;
if (id == 0)
{
project = new Project();
}
else
{
project = (from p in projectRepo.Projects
where p.ProjectID == id
select p).First();
}
return View(project);
}
而且在局部的而不是<%= Html.ActionLink("Create New", "CreateProject")%>
有會是<%= Html.ActionLink("Create New", "CreateProject", new { id = 0 })%>
。
現在我希望找出爲什麼以前的方法不會通過,因爲它爲其他視圖中的其他表。謝謝。
在您看來被命名爲喜歡的表單字段id屬性「 record.FirstName「,」record.LastName「? – Anthony 2009-12-30 19:33:14