ログイン操作と登録操作で、ViewまたはPartialViewアクションの結果を容易にすることが目的です。それは慣例によって行われるMVCで他のものと同様
private ActionResult ContextDependentView()
{
string actionName = ControllerContext.RouteData.GetRequiredString("action");
if (Request.QueryString["content"] != null)
{
ViewBag.FormAction = "Json" + actionName;
return PartialView();
}
else
{
ViewBag.FormAction = actionName;
return View();
}
}
Request.QueryString
が?content=xxxx
が含まれている場合、ここでの大会は...、それは、アクション名に「JSON」を付加しますそれViewBagプロパティ詰めと部分を返します。ビューのバージョン。たとえば、
/Account/Login?content=test
の要求はViewBag.FormAction = "JsonLogin";
に解決され、部分的に返されます。そのフォームアクションは、説明のために非常に多くのViewBag.FormAction = "Login";
おかげで残って
/Account/Login
の要求には、コンテンツのクエリ文字列を持っていません。 –これは実際にはこのコントローラのプライベートメソッドであるべきだと思いますか?どのコントローラーにも使えるようなものだと私には思われます。あなたはこの方法を自分で使いましたか?それを私的なものとして残しましたか? –
正直言って、私はMVC4でプレイし始めたばかりです。私はこの方法が生産に行く前に変わるだろうと思う。もしあなたが好きであれば、それを独自の 'BaseController:Controller'クラスに移すこともできます。基本的なコントローラをプライベートまたはスタティックに置くのは、部分的なシナリオと完全なシナリオの両方のビューを作成することを義務付けているようです。私はそれをそのまま残し、その機能を試して、リリース候補(RC)のどこに行くのか見てみましょう。 –