У меня есть привязка для отображения: inline-block, и она обтягивает текст так, как я хочу, без указания высоты или ширины.Теперь мне нужно получить эту ширину и высоту из моего кода.
Может кто-нибудь объяснить мне, как я могу получить эти значения, даже если они не указаны и просто унаследованы от ширины / высоты текста внутри?
ОБНОВЛЕНИЕ: найденное решение
Это можно сделать с помощью свойства JavaScript offsetHeight и offsetWidth элемента. Это код, который я собрал в спешке:
JS:
<script language="javascript" type="text/javascript">
function GetAnchorSize() {
var buttonWidth = document.getElementById('<%= button.ClientID %>').offsetWidth;
var buttonHeight = document.getElementById('<%= button.ClientID %>').offsetHeight;
document.getElementById('<%= buttonWidth.ClientID %>').value = buttonWidth;
document.getElementById('<%= buttonHeight.ClientID %>').value = buttonHeight;
}
</script>
Элемент, которыйразмер, который мне нужен, и два скрытых поля для ввода значения:
<input type="hidden" id="buttonWidth" runat="server" />
<input type="hidden" id="buttonHeight" runat="server" />
<a id="button" href="#" onmousemove="GetAnchorSize();" runat="server"
style="display: inline-block; border-color: Black;
text-decoration: none; border-style: solid; border-width: 1px; background-repeat:no-repeat;">Text</a>
Я настроил его так, чтобы он обновлялся при перемещении мыши, чтобы вы могли настраивать, для какого события вам нужно обновлять значения.
И чтобы получить значения в коде:
int btnWidth = Convert.ToInt32(buttonWidth.Value);
int btnHeight= Convert.ToInt32(buttonHeight.Value);