Получить фактические поля HTML-элемента в C # - PullRequest
1 голос
/ 11 мая 2009

Мне нужно получить фактическое количество пикселей, которое занимает маржа IHTMLElements, в моем коде c #. Я посмотрел на его стиль и членов currentStyle, но соответствующие части либо нулевые, либо установлены на "auto".

Поиск в интернете показал функцию getCurrentStyle в javascript, но мне нужны эти числа в моем коде c #.

Очевидно, я немного новичок в js, html и во всем ...

Итак, есть ли способ получить фактическое рассчитанное количество пикселей, используемых для полей элементов (или любых других его измерений в этом отношении) в коде c #?

Я забыл добавить: это будет только использоваться в обозревателе Internet Explorer в обозримом будущем

Ответы [ 3 ]

1 голос
/ 11 мая 2009

Должен ли он быть в коде C #? Это может быть проще сделать на клиенте с помощью скрипта - например, с jQuery некоторой комбинацией width () , innerWidth () и externalWidth () должен возвращать поле.

0 голосов
/ 19 марта 2011

Как насчет вычитания IHTMLElement2.clientWidth из offsetWidth?

Для более подробной информации о метриках: http://msdn.microsoft.com/en-us/library/ms530302(v=vs.85).aspx

0 голосов
/ 11 мая 2009

Раздел Javascript

var elementToCalc = document.getElementById ("ваш элемент");

document.getElementById('txtHidMarginTop').value = parseInt ( elementToCalc.currentStyle.marginTop );
document.getElementById('txtHidMarginLeft').value = parseInt ( elementToCalc.currentStyle.marginLeft;
document.getElementById('txtHidMarginRight').value = parseInt ( elementToCalc.currentStyle.marginRight;
document.getElementById('txtHidMarginBottom').value = parseInt ( elementToCalc.currentStyle.marginBottom );

Раздел HTML

<input type='hidden' id='txtHidMarginTop' runat='server' />
<input type='hidden' id='txtHidMarginLeft' runat='server' />
<input type='hidden' id='txtHidMarginBottom' runat='server' />
<input type='hidden' id='txtHidMarginRight' runat='server' />

Присоедините эти переменные к элементам ввода type = 'hidden' с помощью runat = 'server', и затем вы сможете получить доступ к этим переменным в C # с помощью свойства Value элементов DOM.

C # Секция

 string marginTop = int.Parse ( txtHidMarginTop.Value );
    string marginLeft = int.Parse ( txtHidMarginLeft.Value );
    string marginRight = int.Parse ( txtHidMarginRight.Value );
    string marginBottom = int.Parse ( txtHidMarginBottom.Value );
...