我目前正在使用 ASP.NT MVC RC1 来实现一个基本的时间表应用程序。我想遵循 DRY 原则,但在一种特殊情况下很难做到:
我的一个观点,实际上是部分观点,有许多文本框,代表在特定任务上花费的小时数,一周中每天一个文本框。当我最初加载页面时,我希望视图中有一个文本框来显示所有这些小时的总数。此外,我希望在更改文本框中的值时更新该总数。对文本框的更新不会导致完整的回发,只会导致对结果不做任何事情的 AJAX 回发(回发会更新 DB 上的值,但返回的 ActionResult 是 EmptyResult,因为我不需要在用户界面)。
目前,我让控制器创建一个视图,该视图填充了该视图的“总计”,因此添加所有值的逻辑位于 C# 控制器中。在 UI 方面,我有更新 UI 级别总数的 javascript。但这不好,因为如果我改变计算总数的逻辑,我必须在两个地方改变它!啊!不干燥!
那么,我该怎么做呢?到目前为止,我唯一的答案是废弃计算 UI 上总数的 javascript 代码,而是让 AJAX 回发返回该视图的新“总数”。
还有其他方法吗?