클라이언트 쪽 JavaScript 함수에서 ASP.NET 컨트롤의 높이와 너비를 변경하는 가장 좋은 방법은 무엇입니까?ASP.NET 컨트롤의 높이/너비를 자바 스크립트 함수에서 변경할 수 있습니까?
감사합니다, 제프
클라이언트 쪽 JavaScript 함수에서 ASP.NET 컨트롤의 높이와 너비를 변경하는 가장 좋은 방법은 무엇입니까?ASP.NET 컨트롤의 높이/너비를 자바 스크립트 함수에서 변경할 수 있습니까?
감사합니다, 제프
ASP.NET에서 도입 한 이름 바꾸기 때문에 ASP의 컨트롤을 찾기 위해 하단의 함수를 사용합니다. 일단 컨트롤이 있으면 필요에 따라 높이/너비를 설정할 수 있습니다.
example usage:
<input type='button' value='Expand' onclick='setSize("myDiv", 500, 500);' />
...
function setSize(ctlName, height, width) {
var ctl = asp$(ctlName, 'div');
if (ctl) {
ctl.style.height = height + 'px';
ctl.style.width = width + 'px';
}
}
function asp$(id, tagName) {
var idRegexp = new RegExp(id + '$', 'i');
var tags = new Array();
if (tagName) {
tags = document.getElementsByTagName(tagName);
}
else {
tags = document.getElementsByName(id);
}
var control = null;
for (var i = 0; i < tags.length; ++i) {
var ctl = tags[i];
if (idRegexp.test(ctl.id)) {
control = ctl;
break;
}
}
if (control) {
return $(control.id);
}
else {
return null;
}
}
당신은 컨트롤 .ClientID 일부 자바 스크립트를 사용하고 그런 식으로 변경할 수 있습니다.
CSS 높이/너비 또는 일부 컨트롤에서 직접 컨트롤 자체를 통해 변경할 수 있습니다.
예, 가능합니다. ASP 컨트롤은 일부 추가 된 특성을 사용하여 브라우저에서 HTML 컨트롤로 렌더링됩니다. ASP.Net 컨트롤을 만든 동안 ID를 컨트롤에 부여하면 HTML 컨트롤의 ID로 표시됩니다.
javascript의 getElementById() 함수를 사용하여 컨트롤에 액세스 할 수 있어야하며 CSS 속성 (위의 메시지에 지정된 스타일)을 수정할 수 있어야합니다.
당신이 사용하는 경우 JQuery와, 선택 및 CSS 스타일을 설정하면 쉽게 할 수있다, 예를
$ ("#의 myControl") CSS ("폭") == myNewValue.;
건배
경고 :에서 ASP.NET 컨트롤의 ID 만 그렇지 않으면 시간에 의해 변경되고, 컨트롤이 마스터 페이지를 사용하지 않는 ASPX 페이지에 직접 경우 unmangled 클라이언트에 얻을 것이다 그것은 클라이언트에게 도착합니다. –
예 : 버튼의 ID가 "Foobar"이고 ID가 "CPH"인 콘텐츠 위치 홀더가있는 마스터 페이지를 사용하여 페이지에있는 ID가 "UC"인 사용자 정의 컨트롤 내에있는 경우 클라이언트에서 "ctl00_CPH_UC_Foobar"와 같은 것으로 끝납니다. 이 사실을 알고 있어야합니다. –
좋은 지적 Jason. –