如何在 ASP.NET Web 表单中填补服务器端和客户端之间的空白
How to fill the gap between server-side and client-side in ASP.NET webforms?
伙计们,
我想知道如何在 ASP.NET Web 表单中填补服务器端和客户端之间的空白,如何从服务器端和虎钳在客户端触发某些内容?如何从服务器端打开 jQuery UI 对话框?如何获取带有回发的模式对话框,例如,如果我在 jQuery UI 模式对话框中有一个分页的 GridView,并且当用户更改页面时它关闭。我需要知道填补这一空白的最佳方法是什么?
当涉及到服务器在Web环境中与客户端交互时,您必须使用非常可靠的限制。我将在这里回答通用。
当您想将某些内容从客户端传递到服务器时,这通常很容易做到。一种相对常见的方法是通过 AJAX。ASP.NET WebForms 最底层,通过<form>
提交进行通信。
做相反的事情(即服务器向客户端发起消息),这是一个更困难的用例。HTTP,仅仅从它的实现方式来看,很容易client -> server
的东西,但server -> client
几乎是不可能的。它只是不是为此而设计的。如果没有客户端先请求,服务器无法向客户端发送某些内容。这是一个大问题:客户端如何知道服务器何时需要向其发送内容?有点违背了目的。
当然,目前有一些东西正在使用来弥合这一点。其中一种更有前途的是 Web 套接字,这是一种可靠、具体的方法,允许服务器在没有客户端请求的情况下将消息推送到客户端(请注意,IIS 7 开箱即用不能支持 Web 套接字 AFAIK)。另一个是Comet,甚至是通过定期轮询的AJAX。
对于您似乎想要的功能,一个很好的包装器是 SignalR。我已经使用它一段时间了,到目前为止它似乎运行良好。它在可用时使用 Web 套接字,在不可用时使用静默回退。
Asp.net 默认解决方案是使用更新面板。这将创建 ajax 请求并将其发送到服务器。(处理您的分页问题。
要打开有关服务器上发生的事件的对话框,请执行以下操作:
默认情况下,Http 是无连接的,您将无法在开箱即用 asp.net 执行此操作。
你可以看看像彗星这样的方法。这可以在 asp.net 中使用异步调用来完成。
网上有一些使用asp.net 的彗星样本。但它可能涉及对代码的重大更改。还有一些像 Signar 这样的库可能会有所帮助。
- 套接字服务器向客户端广播,但不从两者接收
- ServiceStack JavaScript服务器事件客户端的身份验证
- 如何从服务器向客户端调用函数?(远程功能调用)
- 将数据发布到nodejs服务器到客户端
- 服务器触发客户端事件两次
- 正在服务器或客户端上生成数据
- 从服务器到客户端的响应状态
- 调用SignalR中的服务器和客户端方法
- 在不同子域上使用Socket.IO服务器和客户端
- Meteor集合在服务器和客户端上有所不同
- 使用IE、Jsonp和OpenID,我如何让数据发送服务器将客户端视为已验证
- 从流星服务器到客户端获取单个值
- 在Visual Basic中加密AES,然后在服务器到客户端中解密AES
- 为初学者实现基本REST/SOAP服务器和客户端的最快速方法
- node.js服务器和客户端的代码进行连接
- MQTT 服务器到客户端的通信
- SignalR 不从服务器调用客户端方法
- 计算具有不同时区的服务器和客户端之间的时差
- 没有node.js服务器的客户端socket.io
- radgrid -get 服务器在客户端编辑的行