我有一个与业务类交互的ASP.NET页面.我想根据用户输入的值不断更新页面上的控件,例如更新总计.计算嵌入在业务逻辑中,但它们很简单,可以在其他地方重现.我想到了三种方法来实现这个目标:
使用JavaScript动态更新页面.我不想这样做,因为我不想冒着浮动点数学问题的风险,其中页面上的值与业务类计算的值不匹配(这些属性是小数).
清除更改的计算字段并强制用户单击重新计算按钮.这是一种糟糕的用户体验,将JavaScript连接到ASP.NET控件非常繁琐.
使用AJAX UpdatePanel,将数据输入控件设置为autopostback,并处理控件的"已更改"事件,例如TextBox的TextChanged.
第三种方法对我来说似乎最干净,提供了良好的用户体验,并允许我直接与我在会话状态中存储的业务类进行交互.
我的问题是:这是一个好主意和/或一个普遍的做法吗?有没有更好的方法来实现这一目标?
我几年没有完成ASP.NET工作,我对autopostback有偏见[1].我已经查看了请求的大小,目前在1.5kB时可以忽略不计.该网站使用率较低,但我们可能会有少量用户使用拨号连接.
和ASP.NET一般但时间很难.
Mehrdad Afsh.. 5
我个人认为UpdatePanel
太沉重了.您可以使用jQuery以及输出JSON的ASP.NET Web服务函数.
我个人认为UpdatePanel
太沉重了.您可以使用jQuery以及输出JSON的ASP.NET Web服务函数.