Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 数据库记录更改后,是否可以在不回发的情况下更新此列表框?_Asp.net_Ajax_Vb.net - Fatal编程技术网

Asp.net 数据库记录更改后,是否可以在不回发的情况下更新此列表框?

Asp.net 数据库记录更改后,是否可以在不回发的情况下更新此列表框?,asp.net,ajax,vb.net,Asp.net,Ajax,Vb.net,我的后端有一个VB.NET网页,它有一个动态填充的ASP ListBox web控件。在数据库记录通过modal/dialog中的表单更改后,是否可以在不回发的情况下更新此列表框 我应该尝试哪种方法?是否有与问题/概念相关的主题?我知道两种可行的方法是ajax和WebSocket。 ajax是最简单的两种方式之一,但它会产生更多的开销,因为它将由客户端驱动。 您的客户端将每秒2秒向服务器提交一个ajax请求… 如果服务器有新数据,它将返回该数据,您的客户端javascript代码可以处理响应并创

我的后端有一个VB.NET网页,它有一个动态填充的ASP ListBox web控件。在数据库记录通过modal/dialog中的表单更改后,是否可以在不回发的情况下更新此列表框


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

我知道两种可行的方法是ajax和WebSocket。

ajax是最简单的两种方式之一,但它会产生更多的开销,因为它将由客户端驱动。
您的客户端将每秒2秒向服务器提交一个ajax请求…
如果服务器有新数据,它将返回该数据,您的客户端javascript代码可以处理响应并创建新行等。

由于HTML5,您还可以使用WebSocket。WebSocket是服务器驱动的,因此没有开销。但是启动websocket服务器比ajax要新/复杂一些。
但别让它吓到你!


*更新:假设您使用的是webforms(这会使您的html代码更加模糊,从而使您的解决方案更加复杂),那么您也可以选择asp updatePanels。
它们基本上可以执行ajax调用,但在复杂场景(如动态生成的数据)中实现起来会很困难

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

$('#listbox').append('<option value="5">item 5</option>');
$('#列表框')。追加('item 5');

但是要小心使用webforms时出现的问题!您的新字段和控件必须与asp.net webforms兼容,这可能是一个难题。

如果我只想在提交新记录的特定弹出/对话框后更新一次框,则无需进行2秒检查,因此Ajax方法对我来说会更好。。我说得对吗?我的问题是,如果我有一个web方法和客户端jQuery来更新记录,我如何在列表元素(如ListBox)中应用它?如果您有一个触发器(框弹出),那么您可以执行ajax调用,解析响应数据,并在html上进行更改,而无需每隔X秒执行一次ajax。我用一个小jquery示例编辑了我的回复。