2016-09-26 16 views
1

私はasp.netウェブサイトのマスターページに以下のコントロールを持っています。ブラウザのビューページでのテストサイトでrunat = "サーバー"が設定されている間、IDはシャンティングしていないAsp.netのテキストボックス

<asp:TextBox ID="txtMsg12" runat="server" Text="" Style="display: none"></asp:TextBox> 

それは、Tag(ラナサーバーのbecuase変更IDと名前)の下に表示されます。

<input name="ctl00$txtMsg12" type="text" value="a" id="ctl00_txtMsg"... 

しかし、生産で、それはレンダリングされたHTMLコードを下に示します。(のみ名前がないIDに変更された)

<input name="ctl00$txtMsg12" type="text" value="a" id="txtMsg12" 

私はすべてが同じであるすべてのaspxとCSファイルをチェックしています。その背後にある理由は何か?任意のコントロールが内部の任意のコントロールの開始にContentPlaceHold名前を追加しますContentPlaceHoldにあるとき、私は

+0

を使用すると、IDの一貫性のあるネーミングをする理由の背後にある理由はありますか? – Win

+0

はい、javascriptの複数の場所で使用されています。私はClientmode = staticを使用して移動することができますが、これの背後にある理由は何かわかりません。 –

答えて

0

フレームワーク4.0を使用しています

。そうctl00がContentPlaceHoldIDであり、制御が可能になるctl00 _txtMsg、あなたの地元のweb.configファイルにAutoIdclientIDModeセットを持っている場合は、このarticle

+0

正解..しかし、私の質問は、生産現場とテストサイトが異なる理由です。私の投稿をもう一度チェックして、レンダリングされた入力タグを見ると、その名前はプロダクションで変更されていますが、IDは認識されません。 –

関連する問題