C# 是否可以在一个页面中多次使用同一用户控件?

C# 是否可以在一个页面中多次使用同一用户控件?,c#,asp.net,C#,Asp.net,这都是关于控件id的。我正在asp.net项目中开发聊天功能。我需要显示当前用户正在与之聊天的目标用户的聊天div。每个聊天室div都加载了一个用户控件。我想知道在同一网页中是否有多个控件显示,控件id是什么。例如,用户控件id=“tb1”中有一个文本框。如果一个页面中有两个用户控件,两个文本框是否共享相同的id?我问这个问题是因为我发现,即使出现了两个聊天div,div中的内容都是相同的,我不知道为什么。是的,您可以在同一页面中任意多次使用同一控件 由于每个用户控件将具有不同的ID,因此其中的

这都是关于控件id的。我正在asp.net项目中开发聊天功能。我需要显示当前用户正在与之聊天的目标用户的聊天div。每个聊天室div都加载了一个用户控件。我想知道在同一网页中是否有多个控件显示,控件id是什么。例如,用户控件id=“tb1”中有一个文本框。如果一个页面中有两个用户控件,两个文本框是否共享相同的id?我问这个问题是因为我发现,即使出现了两个聊天div,div中的内容都是相同的,我不知道为什么。

是的,您可以在同一页面中任意多次使用同一控件


由于每个用户控件将具有不同的ID,因此其中的子控件将基于容器控件的ID具有不同的ID,只要它们都是服务器控件(即具有runat=“server”标记)。

否,文本框将不具有相同的ID。因为它们位于不同的用户控件中,他们将被分配两个不同的客户ID


通过在浏览器中查看页面的源,可以查看控件的ID。ClientID看起来是这样的:
ctl00\u ContentBody\u tb1\u TextBox1

如果我使用$.load()方法加载多个页面,每个页面内部都有相同的用户控件,它仍然好吗?@Steven Zack:你之前的评论让我相信你不是在加载用户控件,而是在加载页面。您不能使用JQuery的$.load()函数加载asp.net用户控件(扩展名为ascx的文件)。@lcarus,您是对的。我加载扩展名为.aspx的页面,但该页面内部有用户控件。那么,如果我加载了几个这样的页面,每个页面都有相同的用户控制,这仍然好吗?@Steven Zack:是的,这仍然好,但我感觉你可能在设计聊天应用程序时出错了。另外,请记住JQuery的$.load()函数可能会清理呈现的HTML。请阅读此处了解详细信息。实际上,如果我加载的页面有用户控件,我就无法在view souce菜单中找到它们的源代码。它看起来不像标记中的用户控件。它将是从用户控件输出的HTML。不过,您应该能够搜索分配给用户控件的ID。它将嵌入到客户端ID中。