ASP.Net MVC客户端和服务器端计算

时间:2014-05-16 14:06:40

标签: jquery asp.net-mvc json knockout.js

我是ASP.Net MVC的新手,我正在努力维护MVC开发模式的正确使用。我在混合中迷失了所有不同的技术。

基本上我的表格是针对模型的强类型。为简单起见,我们可以说模型中有三个整数。 Int1,Int2和Total。我想创建一个表单,允许用户在Int1和Int2中输入值,然后立即更新显示给用户的Total字段,只要其中任何一个更改。然后,我希望允许用户点击保存,如果他们对总数和HTTP Post感到满意,则返回控制器,将所有三个字段保存到数据库中。

现在我沿着使用Jquery OnChange()的路径进行计算并设置有效的总值。但是,我觉得我在这里正在逃离真正的MVC,因为我在我的视野中进行计算。

像Knockout和JSON这样的游戏怎么样?我希望尽可能地遵循MVC的最佳实践。

2 个答案:

答案 0 :(得分:0)

Knockout和JSON仍然会回发到服务器。鼓励客户端做事,因为它使您的应用程序更具响应性。如果你绝对必须,你应该只发布到服务器。在某种程度上,我倾向于在客户端做很多事情。

答案 1 :(得分:0)

MVC仅处理将所请求的网页发送到用户的网络浏览器。一旦浏览器收到它,MVC将不会再次输入图片,除非您发送新的Web请求(无论是通过页面重定向,ajax调用还是任何其他方式来启动Web请求)。

浏览器中发生的任何事情都不是MVC的一部分。这并不意味着你应该避免基于客户的互动!这只意味着您将使用而不是MVC 来提供用户体验的那部分。

如果您对客户端流畅的用户体验有相当大的需求,那么有很多javascript框架可供选择。

但是对于在用户输入单独的值时计算总数的示例,可以通过javascript轻松解决,也许最好是jQuery。

但你不应该担心离开MVC结构。它不应该是一个包罗万象的框架。 ASP.Net MVC和javascript / jQuery之间有很好的协同作用,我只能鼓励这种方法。

长话短说:你正走在正确的轨道上。没理由怀疑自己。