2016-09-26 5 views
1

asp.net 웹 사이트의 마스터 페이지에서 아래 컨트롤을 사용하고 있습니다. 브라우저의보기 페이지에서 테스트 사이트에runat = "Server"가 설정되어있는 동안 Asp.net 텍스트 상자가 chaning하지 않습니다.

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

그것은 (RUNAT 서버의 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" 

나는 모두가 같은 모든 영문 및 CS 파일을 확인했다. 그 이유는 무엇입니까? 모든 컨트롤은 그 안에 모든 컨트롤의 시작에 ContentPlaceHold 이름을 추가합니다 ContentPlaceHold에있을 때 내가

+0

는 ID에 대한 일관된 명명을하려는 이유 뒤에 이유가 있나요? – Win

+0

예, 자바 스크립트 여러 곳에서 사용되었습니다. Clientmode = static을 사용하고 이동할 수는 있지만 그 이유는 무엇인지 확실하지 않습니다. –

답변

0

프레임 워크 4.0을 사용하고

. 그래서 ctl00는 ContentPlaceHoldID이며 해당 지역의 Web.config에 AutoIdclientIDMode 설정이있는 경우 컨트롤이 article

+0

맞습니다.하지만 내 질문은 생산 사이트와 테스트 사이트가 다른 이유입니다. 내 게시물을 다시 확인하고 렌더링 된 입력 태그를 볼 경우 해당 이름이 프로덕션에서는 변경되지만 ID는 그렇지 않다는 것을 알게됩니다. –