在客户端和服务器端调用相同的方法

时间:2014-03-06 08:27:02

标签: c# javascript asp.net ajax

我的页面中有一个复杂的计算,我想在客户端和服务器端执行它。为了便于维护,我更喜欢编写一个函数并在客户端和服务器中调用它。

所以我正在寻找一种方法,我可以在C#代码后面调用javascript函数或其他可以满足需求的东西。我想到了一个基于服务的函数,我在客户端使用ajax和服务器作为一个简单的函数调用它;但很明显,它会在客户端稍微缓慢运行,因为它应该转到服务器并返回。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

正如我在评论中所述,我可以想到你在这里有三个选择。

  • 使用ajax调用从控制器获取结果(仅限服务器端计算)。
  • 使用回发,与上面的选项几乎相同。
  • 使用像Jint这样的Javascript解释器,在服务器端执行相同的Javascript。

我认为前两个是首选,但如果你真的不打电话或回发,第三个选项可能是一个解决方案。这将导致客户端代码计算它自己的结果,而服务器端也可以这样做。相同的代码,相同的结果,没有从客户端到服务器端的调用。

例如,用于.NET的populair Javascript解释器可能是Jint,这证明了它的稳定性和性能。你可能想看一下。

答案 1 :(得分:0)

您要么在服务器上进行计算并将它们发送回客户端以完成客户端上的其余工作,要么执行ajax调用(在客户端上显示加载面板)并返回带有结果的回调。

如果您可以提供更多详细信息,您将获得更好的帮助。