AJAX表单重定向,但应该更新目标
本文关键字:更新 目标 表单 重定向 AJAX | 更新日期: 2023-09-27 18:18:43
我在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
正如你所看到的,这是一个非常基本的过程。唯一的问题是,它重定向页面,而不是更新我的目标。我就是不知道哪里出错了。
显然我的jqueryval
包没有被渲染在我的_Layout
。由于这是MVC的默认特性,我认为它应该这样做。事实并非如此。
小心哪些bundle在你的布局中被渲染!