2011-03-30 2 views
1

나는 아주 새로운 .net C#이다. 다음 코드에 관한 질문 만있다. 나는 다음과 같이 화면에 텍스트 상자 표시하는 코드를 작성했습니다 :ID가 asp : TextBox에서 작동하는 방식은 무엇입니까?

<asp:TextBox ID="sUnit" runat="server" MaxLength="12" Width="3em" /> 

를 어쨌든 나는이 텍스트 상자에 값을 할당 jqueryto 사용에 실패

$('#sUnit').val('test'); 

놀랍게도 내가 소스 코드를 볼 때 텍스트 상자의 ID가 아래와 같이 표시됩니다.

<input name="ctl00$cplh$sUnit" type="text" maxlength="12" id="ctl00_cplh_sUnit" style="width:3em;" /> 

아무도 내가 텍스트 상자에 값을 할당 할 수 있도록 텍스트 상자 ID를 어떻게 얻을 수 있는지 알고 있습니까?

호프 내 질문에 바보 같은 소리하지 않습니다.

답변

4

당신이 ASP.NET 4.0을 사용하는 경우는, staticClientIDMode을 설정 같은 유형 input의 요소를 찾을 수있는 예는 보일 수 있습니다. 이전 버전의

는 없습니다 예를 들어, $('#<%= sUnit.ClientID %>')

0

이러한 컨트롤이 포함 된 UI 요소가 ASP.NET에서 렌더링되고 있기 때문에 INamingContainer을 구현하는 컨테이너는 범위별로 접두사를 사용해야합니다. 은 MSDN 줄에서

는 위에서 언급 한 :

이 인터페이스를 구현하는 모든 컨트롤이 모든 자식 컨트롤 ID가 가 전체 응용 프로그램 내에서 고유 보장되는 속성 에 새 네임 스페이스를 만듭니다. 이 인터페이스에서 제공되는 마커는 웹 서버 내에서 생성 된 서버 컨트롤 인스턴스 의 고유 한 이름 지정을 통해 데이터 바인딩을 지원합니다. 당신이 컨트롤이 정기적 div 내에 포함 된 자체가 first selector 사용할 수 있습니다 제어를 찾기 위해

한 가지 제안.

$('#MyDiv').first('input[type="text"]') 
+0

왜'first' 및 사용 '찾으라고? – configurator

관련 문제