我在Razor中定义了一个AJAX表单,如下所示:
using (Ajax.BeginForm("SaveProfile", "Settings",
new AjaxOptions
{
HttpMethod = "Post",
InsertionMode = InsertionMode.Replace,
UpdateTargetId = "result"
}))
{
...
...
表格的其余部分非常基本。几个文本框和一个提交按钮。
这是控制器动作:
[HttpGet]
public ActionResult SaveProfile(int AccountID, string DisplayName, string Email)
{
string message = "Changes saved successfully.";
var user = db.LoginUsers
.Where(m => m.ID == AccountID)
.First();
if (user != null)
{
user.DisplayName = DisplayName;
user.Email = Email;
db.SaveChanges();
}
else
message = "Error. Changes were not saved.";
return PartialView("_Saved", message);
}
这是部分视图,"_Saved"
:
@model string
@Model
如您所见,这是一个非常基本的过程。唯一的问题是它重定向页面而不是更新我的目标。我根本无法弄清楚出了什么问题。
答案 0 :(得分:1)
显然我的jqueryval
捆绑包没有在_Layout
中呈现。我认为因为它是MVC的默认功能,所以它会这样做。事实并非如此。
警惕在布局中呈现哪些束!