2008-11-09 56 views

回答

0

由于名称的重整由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; 
    } 
} 
1

您可以使用控制.ClientID和一些JavaScript和改变这种方式。

您可以直接在控制自身做到这一点通过CSS的高度/宽度或某些控件上。

1

是的,这是可能的。 ASP控件在浏览器中呈现为HTML控件,并带有一些附加属性。如果您在创建时为您的ASP.Net控件提供了一个ID,它也会显示为HTML控件的ID。

您应该能够访问使用JavaScript的的getElementById()函数的控件,你应该能够修改CSS属性(风格为消息中指定上面这一个)。

如果您使用JQuery,选择和设置CSS样式可以更容易,例如

$( “#myControl”)的CSS( “宽度”)== myNewValue。

干杯

+0

警告:在ASP.NET控件的ID只会对未重整如果控制是直接不使用母版页的ASPX页面上的客户端,否则由时间改变它到达客户端。 – 2008-11-10 15:24:03

相关问题