asp mvc适当的ajax用法

时间:2011-06-21 01:47:01

标签: asp.net asp.net-mvc ajax asp.net-mvc-3

我意识到我过去的许多项目都遭受了“太多的ajax”。我写了几乎所有的内部网“业务”类型的应用程序,因此对旧的浏览器/禁用的javascript / etc的可访问性从来没有真正成为我的问题。但是无法收藏/返回/随机错误/超时等用户没有看到的东西(我知道有很多方法可以解决这个问题)...而且最重要的是开发时间要长很多(对我而言,这是一个很大的问题我似乎不是很多。

根据人们的经验 - 何时在商业应用/主要是CRUD类型的网站中使用ajax是否合适?

以此为例:我有一个显示所有注册用户的网格。其中一个按钮将您带到编辑/详细信息视图,您可以在其中编辑所有信息并查看网格上未显示的更多信息。您可以单击“保存”ajax请求并返回成功消息或模型状态,其中错误转换为JSON,并显示在“保存”按钮上方的消息中(带有一堆解析结果的jquery)全部没有页面刷新很好。我有很多类似的屏幕。只要重新定向到显示所有用户的网格,一旦点击“保存”并成功(在顶部说明保存成功的某种“flash消息”)跳过所有ajax / json / etc,它会更有意义吗?作为开发者。我很难对最终用户最有意义的内容进行成像,但只是进行重定向会更简单,对我来说也很有意义。人们在这种情景中的经历是什么?

2 个答案:

答案 0 :(得分:1)

在那种情况下,我会一起避免使用AJAX,除非你有特定的理由。部分页面更新,保持用户在页面上的位置或其他原因。

MVC处理您描述的场景,包括成功/失败消息。在此“编辑”故障情况下,您将检测故障服务器端并将具有模型状态信息的相同编辑视图返回给用户。它们的所有字段都将保持填充状态,您可以轻松地显示验证消息。在成功方面,您将返回列表或索引视图,并可能使用TempData向用户显示一条消息,指示其成功编辑。一个小小的javascript来调整它并在10秒左右之后删除消息并且用户体验非常好。

当您添加客户端验证时,这会变得更好,这在MVC3中更容易。

我认为在这种情况下,您可以为用户创建非常直观的体验,并避免将ajax / json放在一起。我这两个都做了,但在开始编写客户端ajax代码之前,我确保我有正当理由。

看看Steve Sanderson的MVC书籍。他完全按照你所描述的那样详细介绍了这个场景。他的MVC3书尚未出版,我还没有读过MVC2书,但最初的MVC书有它。

http://www.amazon.com/ASP-NET-Framework-Experts-Voice-NET/dp/1430228865/ref=sr_1_4?ie=UTF8&qid=1308745293&sr=8-4

当我在寻找像这样的基本框架指导时,我也喜欢PluralSight在线培训。 http://www.pluralsight-training.net/microsoft/

当然有很多免费的博客,而且不包括MVC。玩得开心。

答案 1 :(得分:1)

在我的应用程序中,我必须从用户那里获取大部分主要业务实体(员工,分销商等)的数据,我通常采用正常形式的路线而不是形式化。大多数情况下,当要发布的数据很小时我使用ajax,我必须在保存后在同一页面上显示数据。

例如,在Employees视图页面上,您可以使用一个小表单为员工添加体验,您可以通过ajax保存它并将输入的数据追加到同一页面。

以Stack Overflow为例。他们使用普通表单来保存答案和问题,但是当涉及到数据量很小并且评论必须附加在同一页面上的评论时,在这种情况下使用ajax是有意义的。