你可以从Javascript函数更改ASP.NET控件的高度/宽度吗?

时间:2008-11-09 23:50:44

标签: asp.net javascript

从客户端Javascript函数更改ASP.NET控件的高度和宽度的最佳方法是什么?

谢谢, 杰夫

3 个答案:

答案 0 :(得分:1)

你可以使用控件.ClientID和一些javascript并以这种方式改变它。

您可以通过CSS高度/宽度或直接在控件本身的某些控件上执行此操作。

答案 1 :(得分:1)

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

您应该能够使用javascript的getElementById()函数访问控件,并且您应该能够修改CSS属性(在此上面的消息中指定的样式)。

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

$(“#myControl”)。css(“width”)== myNewValue;

干杯

答案 2 :(得分: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;
    }
}