1

次のように、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

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

4

1 に答える 1