10

私は MVC4 を使い始めたばかりで、最初に見たアクション メソッドには何か新しいものがあります。私はインターネットをチェックアウトしましたが、これについて何も見つかりません:

public ActionResult LogOn()
        {
            return ContextDependentView();
        }

ContextDependentView とは何か知っている人はいますか?

私にとって新しい何か。

4

1 に答える 1

11

これの目的は、Login および Register アクションの View または PartialView アクション結果を容易にすることです。

    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();
        }
    }

MVCの他のものと同様に、慣例によって行われます...ここでの慣習は、にがRequest.QueryString含まれている場合?content=xxxxで、アクション名の前に「Json」を追加し、ViewBagプロパティを詰め込み、ビューの部分バージョンを返します。例えば:

のリクエストは/Account/Login?content=test解決されViewBag.FormAction = "JsonLogin";、パーシャルを返します。

のリクエストに/Account/Loginはコンテンツ クエリ文字列がないため、そのフォーム アクションはそのままですViewBag.FormAction = "Login";

于 2012-02-01T18:14:31.603 に答える