1

セッションをチェックする Web サイト (poco オブジェクト) モデル バインダーを作成しました。

    #region IModelBinder Members

    public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
    {
        if (bindingContext.Model != null)
            throw new InvalidOperationException("Invalid");

        Website site = (Website)controllerContext.HttpContext.Session[websitesSessionName];
        if (site == null)
        {
            site = new Website();
            controllerContext.HttpContext.Session[websitesSessionName] = site;
        }
        return site;
    }

    #endregion
}

global.asax ファイルで、typeof Web サイトのモデル バインダーを登録しました。私のコントローラー アクションでは、アクションは Web サイトをパラメーターとして取得し、次のように更新します
。if (SelectedSite.ID == 0) SelectedSite = サイト [0]; ViewData["Selectedsite"] = SelectedSite;

        return View(sites);
    }

ただし、モデル バインダーがセッションを更新することはありません。

4

1 に答える 1

0

私はこれが古くてもう役に立たないかもしれないことを知っています、しかし私は自分自身の検索でこれに出くわしました、そして私がしたことから答えたいと思いました。例外をスローするif句を削除すると、これは機能するはずです。参照を返しているので、これは適切に更新されるはずです。うまくいけば、これは少なくとも将来に役立つでしょう

于 2011-11-09T22:26:03.350 に答える