Asp.net 2个相同id上的客户端id模式';s

Asp.net 2个相同id上的客户端id模式';s,asp.net,Asp.net,我有一个control1.ascx页面 和控制2.ascx页面 它们都有以下元素: <asp:TextBox runat="server" ID="txt_name" ClientIDMode="Static"></asp:TextBox> page.aspx包含这两个控件 因此,现在页面包含id为“txt_name”X2的输入类型文本 我想知道它是如何工作的?有人能解释一下吗?因为您使用的是ClientIDMode=“Static”,所以控件的id将完全按照原样呈

我有一个control1.ascx页面 和控制2.ascx页面 它们都有以下元素:

<asp:TextBox runat="server" ID="txt_name" ClientIDMode="Static"></asp:TextBox>

page.aspx包含这两个控件

因此,现在页面包含id为“txt_name”X2的输入类型文本


我想知道它是如何工作的?有人能解释一下吗?

因为您使用的是
ClientIDMode=“Static”
,所以控件的id将完全按照原样呈现


ID将直接呈现。请参阅,这是一篇很好的文章。

ASP.Net 4+支持各种模式为控件生成ClientID

以下是ClientID上MSDN及其“生成模式”的参考:

要了解ClientID生成的工作原理,您可能需要参考以下链接:

(它直观地解释了ClientID生成在不同情况下的工作原理)


希望这有帮助。

理想情况下,只有在确定页面中没有其他控件具有相同名称时,才希望使用
clientmode=“Static”

例如,您确实希望从外部javascript文件访问ServerControl(尽管这不是一个好的设计)

如果您不确定,则希望使用。