我張貼,並試圖重新加載與使用Ajax這樣的新數據的局部視圖:控制器返回PartialView覆蓋整個查看
Index.cshtml
<div id="left-column">
@Html.Partial("~/Views/Project/_ProjectList.cshtml", Model.ProjectList)
</div>
〜/查看/項目/ _ProjectList.cshtml
@using (Ajax.BeginForm("Create", "Project", new AjaxOptions
{
HttpMethod = "POST",
UpdateTargetId = "left-column"
}))
{
<h3>Create a new project</h3>
<div class="form-group">
<label for="new-project-name">Name</label>
<input type="text" class="form-control" id="new-project-name" name="Name" placeholder="Example" />
</div>
<button type="submit" class="btn btn-primary">Create Project</button>
<a href="#" id="create-project-cancel" rel="modal:close">Cancel</a>
}
然後我控制器後,一些返回PartialView DB工作:
[HttpPost]
public PartialViewResult Create(Project newProject)
{
db.Projects.Add(newProject);
db.SaveChanges();
var projectList = db.ProjectLists.SingleOrDefault(pl => pl.Id == 1);
return PartialView("~/Views/Project/_ProjectList.cshtml", projectList);
}
我期望_ProjectList局部視圖加載到#左列元素與新projectList通過由控制器,而是整個視圖被覆蓋,所以整個身體新HTML源代碼基本上是這樣的:
<body>
<!-- all the stuff from the _ProjectList partial -->
</body>
值得一提的是,局部視圖返回後,讀取網址/項目/創建,這是我不希望。
我已經包含了jquery-validate和jquery-validate-unobtrusive,並且控制檯沒有顯示任何錯誤,所以不應該是問題。
任何想法是怎麼回事?
http://stackoverflow.com/a/15282510/1907 - jQuery版本問題瓦特/不顯眼? –
是的,我正在使用jQuery 3.1.0,所以看起來不顯眼不起作用。 – jrsowles