1

我正在使用 jquery 在 MVC 4 中的布局页面上的控件上定义一个 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 Widget。在 Silk Project中有一个关于使用小部件的很好的讨论,它着眼于在 MVC 中开发应用程序的最佳实践。已经使用 JQuery UI 的开发人员会理解这些约定。小部件的优点之一是小部件可以与其他小部件进行通信。

我仍然不清楚为什么视图应该为布局中定义的控件处理事件的设计目标。事件的处理不应该在布局中吗?为什么处理事件会因视图而异?开发人员如何知道“数据”中返回的对象类型以及如何处理它?

于 2012-09-10T20:24:43.277 回答