从jQuery/Javascript动态加载服务器控件的最佳方式
Best way of dynamically loading server controls from jQuery/Javascript
我在这里看到了一些类似的问题,但没有明确的答案。
我正在寻找从客户端脚本(可能是jQuery)加载asp.net服务器控件(或用户控件)的最佳方法。我正在创建一个小仪表板,将具有多个控件/控件创建作为客户端脚本调用的结果和控件将需要能够运行服务器端功能,而不仅仅是简单的信息显示控件。
我最近做了一些类似的事情,加载details
控件,通过jQuery $.get()
的HttpHandler
呈现,并将控件的结果HTML注入DIV区域-然而,这些使用自定义无表单页面作为临时占位符,以不干扰页面上当前的视图状态/呈现周期,因此他们只能使用HTML元素,如超链接等。
这是不同的,我正在寻找最好的方法来加载控件,这将作为如果他们在页面生命周期的开始注册到页面,因为我希望控件能够运行自己的服务器端方法/事件(一些过滤等)。
我看到一些人说你应该使用UpdatePanel's来完成这个,并在服务器端进行处理——但我不愿意这样做,因为其中一个要求与使用客户端脚本密切相关。
我对此进行了一些实验,感觉服务器端控件的asp.net有状态行为在涉及到这样的事情时确实受到了限制。
如果它是一个简单的对话框,如登录用户名和密码,我可以建议你做一个页面方法或一个ashx处理程序,javascript可以与之通信,然后只是建立所有的标记+服务器通信与客户端脚本。
但是既然你正在构建一个更复杂的解决方案,我会给你别人已经建议过的建议:使用UpdatePanels。
你总是可以连接在postBack(显示服务器端控件)被触发之前运行的客户端脚本,这个客户端脚本可以控制postBack是否应该被触发等等。您还可以使代码的服务器端在呈现后调用客户端脚本。
这样的东西让你真正欣赏asp.net MVC
- 创建服务器控件.创建问题
- LoadControl HttpCompileException自定义服务器控件JavaScript错误
- 使用javascript ASP.NET获取服务器控件上的子控件
- 将呈现将 JavaScript 作为 ASP 服务器控件运行
- 突出显示焦点上的文本框服务器控件
- 需要在加载时访问 java 脚本中的 asp.net 服务器控件
- 如何在 JavaScript 中访问和设置服务器控件的值
- 在服务器控件中分离 Javascript
- 创建 Web 服务器控件以模拟 jquery 自动完成 API
- 通过 Java 脚本获取服务器控件属性值
- 服务器标记格式不正确-使用JQuery创建带有服务器控件的表
- 如果按下了specvic服务器控件,则在回发时执行javascript
- 如何在 html 元素中呈现服务器控件客户端 ID
- JavaScript块内部的服务器控件
- 与控件ID关联的访问服务器控件
- 在asp服务器控件中使用javascript . preventdefault()
- ASP.. NET服务器控件-基于下拉选择显示隐藏文本框
- ASP.. NET服务器控件-基于下拉选择显示隐藏文本框
- 从jQuery/Javascript动态加载服务器控件的最佳方式
- 无法将ASP服务器控件值传递给javascript函数