我有一个control1.ascx页面 和control2.ascx页面 他们都有这个元素:
<asp:TextBox runat="server" ID="txt_name" ClientIDMode="Static"></asp:TextBox>
page.aspx包含两个控件。
所以现在页面包含id为“txt_name”X2的输入类型文本。
我想知道它是如何工作的?有人可以解释一下吗?
答案 0 :(得分:1)
理想情况下,只有在确定页面中没有其他控件具有相同名称时才要使用ClientIDMode="Static"
。
例如,你真的想从外部javascript文件访问ServerControl(虽然这不是一个好的设计)。
如果您不确定,请使用Predictable。
答案 1 :(得分:0)
答案 2 :(得分:0)
ASP.Net 4 + 支持各种模式来为控件生成ClientID。
以下是关于ClientID及其“生成模式”的MSDN的参考:http://msdn.microsoft.com/en-us/library/system.web.ui.control.clientid(v=vs.100).aspx
要了解ClientID生成的工作原理,您可以参考以下链接:
http://www.codeproject.com/Articles/108887/Client-Ids-Generation-with-ASP-NET-4-0
(它有关于ClientID生成在不同情况下如何工作的直观解释)
希望这有帮助。