我以前没有在 ASP.NET 中看到过这种实现,但我正在考虑一个外观和行为如下的 UI:

概念概述

  • TabControl 已加载,第一个选项卡包含网格
  • 双击一行时,将创建一个包含记录详细信息的新选项卡
  • 选项卡/记录详细信息的内容由用户控件创建
  • 可以创建许多选项卡,因此将创建用户控件的许多实例

我知道 ASP.NET 会重命名我的 (runat="server") ID 适合我,我可以使用 jQuery 或 ASP.NET 服务器端代码来处理 ID...我的担忧是:

  • 我怎样才能要求 ASP.NET 为我的用户控件的每个 N 个实例生成一个唯一的 ID(在占位符中呈现)
  • 我如何实际创建该控件的额外实例?
  • 我还需要记住什么?

因为我不想回发,所以我正在考虑将我的实现基于 ComponentArt 回调控制, ,并使用 ASP.net 用户控件来实现此效果。这将允许我做大多数需要回发的事情,但不会刷新页面上的所有元素......只是包含用户控件的部分。话虽如此,我并不局限于特定的实现。

有帮助吗?

解决方案

您应该查看 Page.LoadControl 方法。它工作得很好,据我记得你在页面上放置了占位符并将控件加载到占位符中,这就是你控制 id 的方式。

使用此方法效果不佳的一件事是当您的控件引发 Page 对象必须处理的事件时。如果您的控件是独立的,那么您应该不会有问题。

这可能会帮助您开始:http://www.codeproject.com/KB/aspnet/LoadingUSerControl.aspx

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top