は、ここで私がやろうとしているものです:URLを汚染することなくモデルオブジェクトをRedirectToActionに渡すか?
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Index(ContactModel model)
{
if (ModelState.IsValid)
{
// Send email using Model information.
return RedirectToAction("Gracias", model);
}
return View(model);
}
public ActionResult Gracias(ContactModel model)
{
return View(model);
}
すべての3つのアクションメソッドは、同じコントローラです。基本的には、ユーザーが連絡先フォームにデータを入力し、Modelオブジェクトの名前を使用して感謝のページにリダイレクトしたいとします。
コードは動作しますが、URLはGET変数とともに渡されます。理想的ではない。
http://localhost:7807/Contacto/Gracias?Nombre=Sergio&Apellidos=Tapia&Correo=opiasdf&Telefono=oinqwef&Direccion=oinqef&Pais=oinqwef&Mensaje=oinqwef
お勧めはありますか?
に型付けされます。 TIL。ありがとう! – sergserg
それらがシリアライズ可能である限り! TempDataはセッションに格納され、Serializableオブジェクト/クラスのみが使用できます。 –
Tempのデータはここではうまくいくかもしれませんが、インデックスから直接 "Gracias"ビューを表示するだけではありません(モデルはすでにスコープ内にあります)。あなたは本質的に役に立たないリダイレクトである自分のサーバーラウンドトリップも保存します。 –