使用AJAX连续更新ASP.NET页面

时间:2009-04-01 16:47:46

标签: asp.net asp.net-ajax

我有一个与业务类交互的ASP.NET页面。我想根据用户输入的值不断更新页面上的控件,例如更新总数。计算嵌入在业务逻辑中,但它们很简单,可以在其他地方重现。我想到了三种方法来实现这个目标:

  1. 使用JavaScript动态更新页面。我不想这样做,因为我不想冒着浮动点数学问题的风险,因为页面上的值与业务类计算的值不匹配(这些属性是小数)。
  2. 清除更改后的计算字段,并强制用户单击重新计算按钮。这是一种糟糕的用户体验,将JavaScript连接到ASP.NET控件很繁琐。
  3. 使用AJAX UpdatePanel,将数据输入控件设置为autopostback,并处理控件的“已更改”事件,例如: TextChanged for TextBox。
  4. 第三种方法对我来说似乎最干净,提供了良好的用户体验,并允许我直接与我在会话状态中存储的业务类进行交互。

    我的问题是:这是一个好主意和/或一种常见做法吗?有没有更好的方法来实现这一目标?

    我几年没有完成ASP.NET工作,我对autopostback有偏见[1]。我已经查看了请求的大小,目前在1.5kB时可以忽略不计。该网站使用率较低,但我们可能会有少量用户使用拨号连接。

    1. 和ASP.NET一般但时间很难。

2 个答案:

答案 0 :(得分:5)

就个人而言,我认为UpdatePanel过于沉重。您可以使用jQuery以及输出JSON的ASP.NET Web服务函数。

答案 1 :(得分:0)

你认为第三种选择是最好的是正确的。这就是AJAX的用途。去吧。