你可以通过Javascript函数改变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和一些JavaScript和改变这种方式。
您可以直接在控制自身做到这一点通过CSS的高度/宽度或某些控件上。
答
是的,这是可能的。 ASP控件在浏览器中呈现为HTML控件,并带有一些附加属性。如果您在创建时为您的ASP.Net控件提供了一个ID,它也会显示为HTML控件的ID。
您应该能够访问使用JavaScript的的getElementById()函数的控件,你应该能够修改CSS属性(风格为消息中指定上面这一个)。
如果您使用JQuery,选择和设置CSS样式可以更容易,例如
$( “#myControl”)的CSS( “宽度”)== myNewValue。
干杯
警告:在ASP.NET控件的ID只会对未重整如果控制是直接不使用母版页的ASPX页面上的客户端,否则由时间改变它到达客户端。 – 2008-11-10 15:24:03