数据库记录更改后,是否可以在没有回发的情况下更新此ListBox?

时间:2014-02-27 11:41:34

标签: asp.net ajax vb.net

我的后端有VB.NET网页,它有一个动态填充的ASP ListBox Web控件。在模态/对话框中的表单更改数据库记录后,是否可以在没有回发的情况下更新此ListBox?

我应该尝试哪种方式,是否有与问题/概念相关的主题?

1 个答案:

答案 0 :(得分:0)

我知道可以使用的两种方式是ajax和websockets。

在2中,ajax最容易,但它会产生更多的开销,因为它将驱动客户端 您的客户端将每隔2秒向服务器提交一次ajax请求...
如果服务器有新数据,它将返回此数据,您的客户端javascript代码可以处理响应并创建新行等。

从HTML5开始,您也可以使用websockets。 Websockets是服务器驱动的,因此没有开销。但是启动websocket服务器比ajax更新/更复杂 不要让那吓到你!

This is a small websocket example
Here is an ajax implementation with jquery

*更新:假设您正在使用webforms(这使您的html代码更加模糊,因此您的解决方案更复杂提示去mvc 提示)您也可以选择asp updatePanels。
它们基本上执行ajax调用,但在复杂场景中可能很难实现(如动态生成的数据;)

*更新2: 可以使用jquery更改html客户端 向选择框添加值的示例:

$('#listbox').append('<option value="5">item 5</option>');

但要注意使用网络表单时出现的问题!你是新的领域和控制必须符合asp.net webforms,这可能会变得很痛苦。