我有一個錨點設置爲顯示:內聯塊,它包裹文本緊如我想,沒有指定高度或寬度。現在我需要從我的代碼隱藏中獲得這個寬度和高度。在代碼中沒有指定錨高度和寬度的代碼後面?
有人可以向我解釋我怎樣才能得到這些值,即使他們沒有指定,只是從裏面的文本的寬度/高度繼承?
UPDATE:找到解決方案
這可以使用JavaScript屬性的offsetHeight和element.This的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);
我想重申這是一個JavaScript問題。在頁面被瀏覽器呈現之前,高度和寬度都沒有最終確定。 –
錨點位於「更新面板」中,因此它會根據用戶設置進行渲染。 – formatc
如果您沒有明確強制大小,則只有在客戶端上呈現控件之後才能確定像素尺寸。除非您通過JavaScript從DOM檢索並將其發送回服務器,否則無法從服務器獲取該信息。 –