次のように、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
ご覧のとおり、これは非常に基本的なプロセスです。唯一の問題は、ターゲットを更新する代わりにページをリダイレクトすることです。私は単に何がうまくいかないのか理解できません。