2009-05-29 5 views
1

어떻게 asp.net 뒤에 코드에서 html 컨트롤에 액세스 할 수 있습니다. 나는 문제를 일으키는 것처럼 "runat = server"를 사용하고 싶지 않다.서버 쪽에서 HTML 컨트롤에 액세스

빈 HTML 테이블을 만들었고 코드 뒤에서 < td>를 추가하고 싶습니다.

도와주세요.

덕분에, Prachi

+0

일부 코드를 표시하십시오. Codebehind뿐만 아니라 HTML 페이지 일부가 도움이 될 것입니다. – shahkalpesh

+0

나는 aspx에서 html 테이블을 folows로 생성하고있다. <표 ID가 "= maintable> 지금 내가 믿을수 내가 컨트롤을 retreive 수 tds.How를 만들기 위해 데이터베이스에서 값을 검색합니다 .cs에서이 테이블에 열을 추가 할? –

+0

는 어떤 문제입니다 일으키는? – Cerebrus

답변

1

이 RUNAT = "서버"없이 할 수 없습니다.

당신은 이것이 문제의 원인이라고 말합니다. 어떤 문제가 발생했는지 말하십시오.


getElementById를 사용하여 테이블에 액세스한다고합니까? 서버 컨트롤의 ID는 내부 컨트롤의 기준에 따라 변경됩니다. 변경된 ID를 사용하려면

var tab = getElementById("<%= myTable.ClientId %>"); 

또는 그와 유사한 것을 사용해야합니다.

+0

현재 나는 다음 코드를 사용하여 자바 스크립트를 통해 td를 추가하고 있습니다 var tblHeadObj = window.opener.document.getElementById "maintable"). tHead; 그러나 runat 서버를 만든 후 오류가 발생했습니다 : jscript 오류 : 개체가 예상 됨 –

+0

가능합니다. 내 솔루션을 참조하십시오. – Jason

0

코드 숨김에서 액세스하려면 runat = server 속성을 사용해야합니다.

어쩌면 codebehind에서 테이블에 td/tr을 추가하는 자바 스크립트 코드를 생성 할 수 있습니다. 시작시 실행할 페이지를 등록 할 수 있습니다.

0

RUNAT = "서버"테이블과 TR 요소에

는 (이 서버에 요소를 노출하는 프레임 작업을 지시대로) 코드 뒤에 액세스 할 수있는 방법은 없습니다.

실제로 무엇을하려고합니까? DataGrid, GridView 또는 간단한 Repeater 컨트롤을 보았습니까? 이것들을 사용하면 테이블 구조를 정의하고 그것에 컨트롤을 동적으로 추가 할 수 있습니다 (일반적으로 데이터 바인딩을 통해 아이템을 추가하는 방법이 있지만).

0

편도 방식 이렇게하려면 인라인 스크립팅과 공용 문자열 변수를 추가하십시오. 당신의 Page_Load 이벤트에서 다음

public String myColumns 

문자열로 HTML을 생성하고 변수 당신 myColumns에 저장 : 뒤에 코드에서 public 클래스 수준의 변수를 만들기에 그런

protected void Page_Load() { 
//do stuff 
myColumns = someStringWithTDTagsInIt 
} 

당신의 에서 .aspx 페이지, 다음을 수행하십시오 당신이 (또는 당신이 버튼 클릭 또는 무언가에로드하려는 경우 어떤 이벤트 당신이 원하는) 당신의 Page_Load 이벤트에 그것을 원하는대로

<table id=maintable"><tr><%=myColumns %></tr></table> 

그것은 당신의 HTML 렌더링한다 "runat = server"태그를 사용하지 않아도됩니다.

이 방법은 권장 사항이 아닙니다.이 방법 (컨트롤은 일반적으로 더 효율적입니다)은 사용자가 제기 한 질문에 대한 유효한 해결책이어야합니다.

0

간단한 예.

단지 runat = "server"로 설정하면 액세스 할 수 있습니다.

html 컨트롤은 서버 쪽에서 액세스 할 수 없습니다. runat 서버를 배치하면 서버에 액세스합니다.

관련 문제