ASP.NET Rich UI - 你用什么?

时间:2009-11-09 10:39:56

标签: asp.net jquery asp.net-ajax

我正在寻找有关其他人在其ASP.NET项目中使用的反馈,以提供丰富的用户界面体验,同时保持尽可能高效。

我正在开发基于ASP.NET 3.5 Web的应用程序,但我希望尽可能丰富这个项目中的UI。

  • 最小化回发和整页翻新

  • 在适当情况下使用AJAX

  • 能够将自己的主题/皮肤应用于任何第三方组件。

我非常擅长CSS / Javascript,在Jquery中获得越来越多的熟练并且对ASP.NET非常了解。然而,就Xhtml和客户端技术而言,我必须意识到,并非所有参与未来项目的人都会在Xhtml / CSS / Script方面崭露头角。因此另一个关键要求是

  • 如果可能的话,在Visual Studio中为上述
  • 获得良好的设计时间支持

目前我正在研究沼泽标准搜索编辑类型屏幕,例如搜索一些数据并向下钻取和编辑。使用ListView / GridView开箱即用,没有AJAX,因为用户体验太差了。

但我在三种不同的选择之间挣扎。

  1. 使用开箱即用的控件ASP.NET控件,但使用updatepanel来最小化回发。我不确定这一点,因为我已经阅读过更新面板效率不高(例如,如果你有一个网格并将其编入更多网格标记将再次从服务器获取。)
  2. 放弃ASP.NET控件并使用像Developer express网格这样的第三方网格。我玩过这些游戏并且喜欢搜索和分组,但是在编辑时我不太确定。
  3. 想出一个我自己的狡猾计划。我正在考虑一个返回JSON等的网络服务。这对我很有吸引力但是如果我沿着这条路走下去,我需要说服我的老板说这可能很有成效并且尽可能多地存在于现有的东西中。我简要介绍了ADO.NET数据服务。
  4. 无论如何,正如我所说,这个问题的目的是尝试了解其他人在他们的ASP.NET项目中使用的内容,以提供丰富的用户界面体验,同时尽可能保持高效。

3 个答案:

答案 0 :(得分:2)

对于网格,您可以使用DataTables。它具有多列过滤和排序,基于行的事件,分页,并且可以使用DOM或通过Ajax调用接受数据。

如果您正在寻找jQuery和回发周期的良好资源,您应该阅读Dave Ward的blog。他介绍了有关PageMethods和Web服务的不同技术。

您还对mirco-templates感兴趣,您可以使用jTemplates之类的模板语言来处理DOM的客户端更新。使用这种技术可以减少对ViewState和回发的依赖。

最后,有一个名为SimplyModal的好插件可以让你创建模态对话框。这是一个good示例。

答案 1 :(得分:1)

我们使用updatepanels和raw ajax的组合。

Updatepanels就像你说的那样效率不高,但是当需要刷新大部分屏幕时,它们很不错。

对于javascript / ajax,我们主要使用jQuery(完全可爱),并使用MS Asp.Net Ajax与Web服务器上的Web服务进行通信。 Web服务通常返回我们自己的自定义ServiceResult对象,该对象标记为[DataContract(Namespace = "")],其属性标记为[DataMember]。当这些对象在js侧被接收时,它们是js-objects。其中一个道具是datacontainer,它是一个json序列化的对象,可以使用

在js端进行反序列化。
Sys.Serialization.JavaScriptSerializer.deserialize(resultObject.ResultString)

答案 2 :(得分:1)

你有预算吗?我们在雇主处使用Telerik AJAX组件,并对功能和性能非常满意。