2014-01-31 3 views
0

뒤에 코드를 사용하여 DIV를 받고 : 마스터 페이지> 콘텐츠 페이지> 내용> 업데이트 패널> 테이블>DIV> gridview에내가 아래있는 사업부가

나는의 폭을 얻기 위해 노력하고 있어요 div 사용 :

<div runat="server" id="gridViewWrapper" style="width:820px;"> 

HtmlGenericControl curHeightctrl = (HtmlGenericControl)this.FindControl("gridViewWrapper"); 
string curWidth = Convert.ToString(curHeightctrl.Style["width"]); 
System.Diagnostics.Debug.Write(curWidth.ToString()); 

하지만 너비를 얻을 수 없습니다. 나는 5 시간을 이것에 종사하고, 나의 손가락이 감각이 없어 질 때까지 googled했다. div는 마스터 페이지가 아닌 콘텐츠 페이지에 생성되므로 작동해야합니다. (일부 잘못된 언어를 사용하고있을 수 있습니다.)

답변

0

FindControl이 필요하지 않으므로 코드 뒤에 ID로 직접 액세스 할 수 있습니다.

영문이 (동일하게 유지) :

<div runat="server" id="gridViewWrapper" style="width: 820px;"> 

코드 숨김 : 또한

string width = gridViewWrapper.Style["width"]; 
System.Diagnostics.Debug.Write(width); 

Style["width"] 문자열이 이미 있으므로주의하시기 바랍니다 (직접적 820px 인쇄됩니다) 그래서 당신 돈 Convert.ToString해야합니다.

0

간단한 사용 :

string curWidth = curHeightctrl.Style["width"]; 
+0

정답을 RUNAT = "서버"를 넣어 때문이다. 감사. –

0

는, 우선 HTML에서 div 태그를 닫으십시오 (그것의 끝 부분에 통지 /> 단지>)

<div runat="server" id="gridViewWrapper" style="width:820px;"/> 

또는 당신이 할 수있는

<div runat="server" id="gridViewWrapper" style="width:820px;"></div> 

두 번째로, div가 마스터 페이지가 아닌 콘텐츠 페이지에 있으면 CodeBehind가 콘텐츠 페이지에 있어야합니다. 당신은 그것을 액세스 할 수 있어야합니다 :

string width = gridViewWrapper.Attributes.CssStyle["width"]; 

gridViewWrapper가의 FindControl를 호출 할 필요없이 액세스 할 수 있습니다, 당신은뿐만 아니라 여기에 마크 업에

+0

정확합니다. div를 닫아야합니다. 내 마크 업에 있지만 div 만 열었습니다. 좀 더 완벽 해지기 위해서 나는 그것을 닫아야했다. –

+0

이 방법도 효과가있었습니다. –

관련 문제