c# - 基于在 asp.net 中丢失的文本框焦点更新更新面板

标签 c# asp.net

我有一个带有两个用户控件的 asp.net 页面。每个都在单独的更新面板中,一个用户控件具有三个文本框。我想根据第一个用户控件中文本/焦点的更改来更新第二个更新面板。如何访问用户控件的文本框和页面中的其他控件并在文本更改时更新更新面板?

updatepanel1
 user control1
   textbox1
   textbox2
   textbox3

updatepane2
  usercontrol2
  label1

问候, 阿西夫·哈米德

最佳答案

哇哦,更新面板!这让我回过神来。从客户端异步触发 UpdatePanel 以“回发”一直是一件麻烦事。常见的方法是注册一个带有隐藏按钮点击事件的 AsyncPostBackTrigger,然后在客户端显式调用它的点击事件。但是,一种间接层数较少的解决方案是调用 ASP.NET AJAX 库的 __doPostback() JS 函数。

假设您正在使用 jQuery(考虑到您仍在使用 UpdatePanels,这可能有点牵强!),您可以将事件处理程序添加到 UserControl1 的“focusout”事件以触发 UpdatePanel2 的异步回发。我建议将此 JS 放在您的 UpdatePanel 之一之外。

$('#userControl1').on('focusout', function() {
  __doPostback('UpdatePanel2UniqueId', '');
});

我找到了一篇很好的文章,更详细地解释了使用 __doPostback 的技术。

Easily refresh an UpdatePanel, using JavaScript

关于c# - 基于在 asp.net 中丢失的文本框焦点更新更新面板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11179821/

相关文章:

c# - AuthenticationManager.SignIn() 不存在于 AuthenticationManager 类中

C# SqlCommand.ExecuteNonQuery 对于成功的 UPDATE SQL 语句返回 -1

c# - 使用 Winforms 中运行的后台线程更新 UI 中的控件

c# - 带有参数的Unity自动工厂

C# 对 datagridview 行中的相同值进行着色

c# - 如何使用 Reactive Extensions (Rx.Net) 等待一个值或直到经过一段固定的时间

html - 如何为具有相同分辨率的不同设备提供相同网址的不同 View ?

c# - HTTP 发布错误 : An existing connection was forcibly closed by the remote host

asp.net - Nlog 数据库目标 - 是否使用 keepConnection?

c# - 匿名类型的 Asp.net WebForms 错误