仅通过Ajax Call调用操作

时间:2011-05-19 02:02:44

标签: jquery asp.net-mvc model-view-controller asp.net-mvc-2

基于这个问题(Link)我想知道使用ajax调用来创建一个mvc应用程序是否合适?

谢谢, 佩德罗

2 个答案:

答案 0 :(得分:2)

这取决于具体情况。以下是一些优点和缺点

优点:

  • 具有多个需要独立更新的部分的应用程序使用ajax调用更容易编写,因为您不需要通过回发来维护每个部分的状态。
  • 较小的网络请求 - >更好的表现
  • 无需保持窗口的滚动位置,否则完整的回发会滚动到页面顶部

缺点:

  • 很难设计,以便将其当前状态加入书签
  • 搜索引擎无法导航
  • 后退/前进按钮无需花费很多精力就可以使用
  • 需要启用javascript

马丁

答案 1 :(得分:1)

这一切都取决于你的项目。

这里没有好的或坏的方法,但你必须记住没有启用JS的用户。如果您依赖于ajax来进行所有应用程序交互,则必须为那些不使用JS的用户执行单独的行为(浏览器JS未启用)。

在控制器级别总是会出现类似这样的事情:

 public ActionResult Index()
        {
            if (Request.IsAjaxRequest())
            {
                //Ajax Request
                //Return partial mostly for partial refresh of the page
                return View("PartialView");
            }

            //Regular Request
            return View("FullView");
        }

提到的一些搜索引擎优化问题。