내가 만든 ASP.NET 프로젝트에서 Table의 하위 클래스를 만들었습니다. 이 테이블은 RowCreator를 호출 할 수있는 TableRows 및 TableCell을 포맷하고 생성하는 클래스를 사용합니다. 그래서 MyTable은 rowCreator.CreateRow()를 호출하고 그 안에 많은 장점이있는 TableRow를 가져옵니다.ASP.NET TextBox에 올바른 ClientID를 얻으려면 어떻게해야합니까?
이 TableRow에는 RowClreator 클래스에 의해 추가 된 onblur 이벤트에서 javascript 메서드를 트리거해야하는 TextBox가 있습니다.
Attributes.Add("onblur", "javascriptMethod('" + this + "');")
작동하지 않습니다
textBox.Attributes.Add("onblur", "javascriptMethod('" + textbox.ClientID + "');");
나는 또한에 onblur 이벤트를 추가하는 방법을 구현하는 텍스트 상자의 서브 클래스를 생성 시도했습니다. ID는 텍스트 서브 클래스의 네임 스페이스에 불과합니다.
그리고 자바 스크립트 방법
은 매우 간단합니다 :function javascriptMethod(boxId) { alert(boxId); }
의 문제점은, 나는 텍스트 상자 컨트롤이 아직 컨트롤 컬렉션에 추가되지 않은 때문입니다 추측하고있어, 그 boxId 올바른 클라이언트 ID가 아닙니다. 서버 측 ID와 동일합니다. 페이지에 Controls.Add를 사용하여 행을 추가하지 않고도 적절한 ID를 얻는 방법이 있습니까? 다른 제안?
내가 이것을하고있는 이유는 변경되었을 때마다 자바 스크립트 함수에서 텍스트 상자 내용을 읽는 것입니다. 아마 이것을 할 수있는 더 좋은 방법이 있을까요?
간단하고 우아한 해결책. – Raithlin