1

MVC 4 の [レイアウト] ページのコントロールで、jquery を使用して ajax 呼び出しを定義しています。この呼び出しの機能を設定して、サーバー上のセッション変数を変更しました。私の問題は、レイアウト ページを使用するビューでコールバックを強制することです。

そこで私が必要としているのは、この共通のコールバックが、レイアウト ページを使用するビューを作成している他のユーザーに簡単に認識されるようにする方法です。

- 編集

私のレイアウトでは

   $('#clickable').click(function () {
        $.ajax({
            url: '@Url.Content("~/UrlGoesHere")',
            type: 'POST',
            data: { somedata : $('#data').val() },
            success: successCallBack(data),
            error: errorCallBack(data)
        });
    });

このレイアウトを使用する私のビューでは、ビューを作成する人にそれを強制する方法で successCallback または errorCallBack を定義したいと思います。

4

1 に答える 1

0

Javascript のような動的言語でメソッドを定義するように開発者に強制するのはかなり困難です。あなたができる最善のことは、開発者がそれをどのように使用することが期待されているかについて十分に文書化された、明確に定義されたコントロールのオブジェクトを作成することだと思います. これがコントロールの場合は、JQuery UI ウィジェットにカプセル化することを検討します。MVC でアプリケーションを開発するためのベスト プラクティスを検討している Silk Project には、ウィジェットの使用に関する適切な議論があります。これらの規則は、すでに JQuery UI を使用している開発者には理解されます。ウィジェットの利点の 1 つは、ウィジェットが他のウィジェットと通信できることです。

ビューがレイアウトで定義されたコントロールのイベントを処理する必要がある理由について、設計目標はまだ明確ではありません。イベントの処理はレイアウトにあるべきではありませんか? ビューごとにイベントの処理が異なるのはなぜですか? 開発者は、「データ」に返されるオブジェクトの種類と、その処理方法をどのように知るのでしょうか?

于 2012-09-10T20:24:43.277 に答える