2016-09-26 1 views
1

J'ai un contrôle ci-dessous dans ma page maître du site asp.net.La zone de texte Asp.net ne chante pas l'ID alors que runat = "Serveur" est défini

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

Sur le site de test dans la page d'affichage du navigateur, il montre ci-dessous Tag (ID modifiée et le nom du serveur becuase runat).

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

Mais dans la production, il montre ci-dessous le code html rendu. (Seulement Le nom est changé non ID)

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

J'ai vérifié tous les fichiers ASPx et CS sont tous identiques. Quelle peut être une raison derrière cela?

J'utilise Framework 4.0

+0

Y at-il une raison derrière la raison pour laquelle vous voulez un nom cohérent pour l'identification? – Win

+0

Oui, il est utilisé dans plusieurs endroits javascript. Je peux utiliser Clientmode = static et déplacer mais je ne sais pas quelle est la raison derrière cela. –

Répondre

0

Lorsqu'un contrôle est dans ContentPlaceHold ajoutera ContentPlaceHold nom au début de tout contrôle à l'intérieur. si ctl00 est ContentPlaceHoldID et le contrôle sera ctl00 _txtMsg Cochez cette article

+0

Correct..Mais ma question est pourquoi il est différent dans le site de test que la production .. Si vous vérifiez à nouveau mon poste et voir tag d'entrée, alors vous trouverez que le nom est changé dans la production, mais pas ID. –