2011-04-09 60 views
0

在ASP.NET Web窗体当控件的页面上呈现,因为需要确保冲突没有发生,每个字段的ID与ctrl01修改(又名MyField的变ctrl01 $ MyField的或诸如此类的东西)。ASP.NET Webforms如何确定控件的HTML名称?

我想知道其中一个可能找到如何算法本身的工作,或者它可能是我能找到的细节。我假设INamingContainer与此有关 - 但唉,我找不到实际决定渲染字段名称的部分。

任何帮助将会很棒!

回答

1

(就像你在帖子中说)你可能寻找this msdn article

+0

啊,是的,这正是我正在寻找的,谢谢! – pinvoke 2011-04-09 20:02:45

0

它基于网页的分层布局。但是你可以用ClientId属性来控制它。

因此在用户控件的文本框将ctrl01#textboxname被命名

1

它加到它自己的名字与你的原始ID。

在ASP.NET 4中,您可以抑制这种级联和保持自己的ID以三种不同的方式:

  • 每个服务器控件有一个名为clientIdMode的属性,你可以设置为Static
  • 你也可以在页面指令中设置clientIdMode,这将影响页面上的所有控件。
  • 或者你可以将其设置在web.config影响到在所有网页上的所有控件。 (除非页面或控件设置为不同的clientIdMode

注:如果您正在使用AJAX Control Toolkit的你需要那些工具包的一部分控制设置为PredictiveclientIdMode

相关问题