0

一般的な方法で DB からオブジェクトをリロードできる O/R マッパーを使用します。それらをリロードするために、マップされたオブジェクトの作成直後にリクエストを傍受できるようにしたいと考えています。

ActionFilters はもちろんありますが、問題は、ActionFilters (または私が見た例) が、オブジェクトが作成された後ではなく、フォームによって提供されたデータを処理できることです。

コントローラーのオーバーライド可能なメソッドを調べましたが、私の目を引く明白なものは何も見つかりませんでした。これを行う方法を知っている人はいますか?

ご提案ありがとうございます。

ナセル

4

2 に答える 2

0

私が正しく理解していれば、このようなものが必要です。

public class Navigate : ActionFilterAttribute, IActionFilter
{
    void IActionFilter.OnActionExecuted(ActionExecutedContext filterContext)
    {
        ViewResult view = filterContext.Result as ViewResult;

    }
}

ビューには、現在の Controller に属する view.ViewData.Model が表示され、このマップされたデータで必要なことをすべて行うことができます。私が正しかったかどうか教えてください:)

于 2009-04-03T12:49:22.053 に答える
0

必要なのは、カスタム モデル バインダーです。デフォルトの ModelBinder クラスから継承して、必要なロジックを提供できます。

たとえば、次のような場合:

public ActionResult Save([Bind(typeof(CustomModelBinder))] Customer customer)
{
   /* ... */
}

モデル バインダーによってオブジェクトが作成されますが、最初にデータベースから取得することもできます (既存のレコードの場合)。

于 2009-04-03T12:56:22.783 に答える