Asp.net mvc ASP.NETMVC和Webservices/Ajax——应该走哪条路?
我正在开发一个ASP.NETMVC应用程序,它需要在不回发整个页面的情况下执行一些小的原子操作。这样做的逻辑方法当然是使用ajax调用 我的问题是-人们认为实现这一目标的最佳方式是什么? 据我所知,我可以按照以下思路来做:Asp.net mvc ASP.NETMVC和Webservices/Ajax——应该走哪条路?,asp.net-mvc,wcf,asp.net-ajax,Asp.net Mvc,Wcf,Asp.net Ajax,我正在开发一个ASP.NETMVC应用程序,它需要在不回发整个页面的情况下执行一些小的原子操作。这样做的逻辑方法当然是使用ajax调用 我的问题是-人们认为实现这一目标的最佳方式是什么? 据我所知,我可以按照以下思路来做: WCF+ajax mvc应用程序中的控制器操作-可能作为JSON结果返回 Webservices(独立/组合项目)+ajax 我要求用户在使用webservice/wcf/ajax时登录,这目前是通过cookie/sessionid完成的,但据我所知,上述所有方法都允许这
- WCF+ajax
- mvc应用程序中的控制器操作-可能作为JSON结果返回
- Webservices(独立/组合项目)+ajax
希望听到人们对此的想法/经历 我建议将其作为控制器操作。原因如下:您可能最终能够使同一操作返回多个不同的表示。例如,GetPerson()操作可以以XML、JSON或HTML(可能还有其他表示形式)的形式返回人员数据
这是Rails和ASPMVC中常用的方法。您肯定应该使用控制器操作,以下是几个原因:
- 使用WCF/Webservices做这件事太过分了(我的假设是您还没有任何人人都使用的WCF/Webservices代码)
- 使用控制器动作自然适合这种情况
- 如果用户禁用了Javascript或浏览器不受支持,则可以轻松地进行回退。(只需创建两个返回完整视图的操作方法)
- 正如Michael提到的,您可以通过呈现部分来执行原子更新
希望这会有所帮助。这肯定是一种方法,控制器操作可以呈现部分(asp.net mvc语言中的用户控件)或json,具体取决于您的需求。简单,完全无痛。