У меня есть веб-форма с несколькими серверными элементами управления ASP.NET. Мне нужно динамически менять их ширину и высоту с помощью клиентского JavaScript кода.
function changeElementSize() {
var control = document.getElementById('<%=myServerControl.ClientID%>');
control.style.width = '300px';
control.style.height = '200px';
}
Я пробовал этот подход, но не уверен, что это оптимальное решение. Может быть есть более эффективные способы работы с размерами серверных контролов через браузер?
Какие методы вы используете для подобных задач? Буду благодарен за советы и примеры кода.
А почему не через CSS классы делать? Можно заранее стили подготовить, а потом просто className менять. Типа control.className = ‘big-size’ или addClass/removeClass использовать. По-моему так чище получается чем каждый раз style.width писать. Ты пробовал такой вариант?
Твой код рабочий, но есть нюанс - лучше проверять что элемент найден перед изменением стилей. Добавь if (control) перед control.style.width. Еще можно через setAttribute делать, но это уже перебор. Если размеры меняются часто, то можно в объект собрать все стили и через Object.assign(control.style, {width: '300px', height: '200px'}) применить разом.