2011-04-09 15 views
0

コントロールがページにレンダリングされるときにASP.NET Webフォームで、各フィールドのIDは、衝突が発生しないように必要に応じてctrl01で変更されます(別名myFieldはctrl01 $ myFieldまたはその他のものになります)。ASP.NET WebformsはコントロールのHTML名をどのように決定しますか?

私は、アルゴリズムそのものがどのように動作するか、どこでそれが見つかるかについての詳細をどこで見つけるのだろうと思っていました。私はINamingContainerがこれと何か関係があると仮定していますが、実際にはレンダリングされたフィールド名を決定する部分を見つけることができません。

何か助けが素晴らしいだろう!

答えて

1

#1 textboxname ctrl01という名前になりますあなたは、おそらくthis msdn articleを探しています。

+0

ああのclientIdModeにツールキットの一部であるこれらのコントロールを設定する必要があります、はい、これは私が探していたものです。ありがとう! – pinvoke

0

ウェブページの階層レイアウトに基づいています。しかし、これをClientIdプロパティで制御できます。

だから、(あなたがあなたの記事で言ったように)、ユーザーコントロール内のテキストボックスが

1

@を見てみましょう。あなたはこの連結を抑制し、3つの異なる方法で独自のIDを維持することができますASP.NET 4では

は:

  • 各サーバーコントロールを使用すると、あなたがすることもできStatic
  • に設定することができますclientIdModeという属性を持っていますページのすべてのコントロールに影響を与えるpageディレクティブにclientIdModeを設定します。
  • またはweb.configで設定して、すべてのページのすべてのコントロールに影響を与えることができます。 (ページまたはコントロールがclientIdMode

別のノートに設定されていない場合:あなたはAJAXコントロールツールキットを使用している場合は、Predictive

関連する問題