knockoutJs和使用存储过程的复杂处理

时间:2016-07-04 18:28:44

标签: c# ajax stored-procedures knockout.js

我们正在构建一个ASP.NET MVC5网站,它让我们说出某种shoppingCart View功能。在这种情况下,KnockoutJs可以为每个OrderLineItem执行诸如(UnitPrice * Quantity)之类的计算,甚至可以执行购物车总和(每行总计)的总和。

Knockout的客户端Viewmodel包含Shoppingcart的数据,它可以执行ShoppingCart中元素的添加,删除和更新。

在这里,在我们的实际应用程序中,我们让我们说同一个ShoppingCart,但是为了处理客户端,它不像(UnitPrice * Quantity)那么简单...我们在我们的程序中有复杂的存储过程用于此目的的Sqlserver数据库。

所以,我的问题:这可以通过WCF endPoints调用那些storedProcedures吗? (或Web API?)像/ api / GetResultOfCalculation /获取存储过程的结果,这样做 :

   $.ajax({ 
   url : "**/api/GetResultOfCalculation/**",

   data : ko.ToJSON(self),
   content-type : ...
   success : function(data) { 
       // get the results from complex calculations
       // encapsulated in stored procedures
       // and then bind these results to shoppingCart 
       // thus giving the end-user an ajax-like responsiveness
   }
   });

或者,是否有可能通过ajax调用存储过程:

我的意思是,是否可以对调用存储过程dbo.GetCalculationByXandY的控制器操作进行Ajax调用,然后将其结果存储在服务器端Viewmodel(S-s Vm)中。

然后,这个S-s Vm将序列化为客户端ViewModel(C-s Vm)......刷新ShoppingCart。

我正在尝试使用KnockoutJs在我的MVC视图中进行类似AJAX的响应,避免在每次更新Quantity或在shoppingCart中删除OrderItem时向服务器进行往返。但是,由于我的应用程序必须使用存储过程来执行这些计算,我想知道如何做到这一点。欢迎任何帮助或建议。请注意,只能通过存储过程在c#或javascript中进行计算。

0 个答案:

没有答案