AJAX.BeginForm を使用して SPA を構築することを検討していますが、ユーザーが JavaScript を無効にしていると、_Layout.cshtml + PartialView.cshtml にリダイレクトするのではなく、PartialView.cshtml だけにリダイレクトするという問題に直面しています。
レイアウトと PartialView を含める方法はありますか (JavaScript が有効になっている場合)。
ありがとう
編集:
素晴らしい..ありがとう..なんとか機能させることができましたが、それが最良の実装かどうかはわかりません..
[HttpPost]
public ActionResult Index(Newsletter newsletter)
{
if (ModelState.IsValid)
{
db.Newsletters.Add(newsletter);
db.SaveChanges();
ViewData["message"] = "thanks for signing up to our newsletter!";
if (Request.IsAjaxRequest())
{
return PartialView( "SimpleMessage" );
}
}
return View();
}
SimpleMessage.phtml は単に @ViewData["message"]; です。
一方、私のView.phtmlには条件があり、ViewBag ["message"]が設定されているかどうかを確認しています。設定されている場合は、ポストバックであることを意味し、フォームを表示せずに代わりにメッセージを表示するか、フォームを表示します。