我有一个ASP.NET页面,有两个按钮btnConfirm
和btnAbort
。 btnConfirm
的宽度未设置,所以它自动调整以适合。
我希望btnAbort
的宽度与btnConfirm
的宽度相同。调整按钮的宽度,以匹配另一个,自动化的一个
问题:两个按钮都在最初不可见的panel
中,通过更新面板中的按钮单击显示。这意味着,最初这些按钮不存在于页面上。
有解决方案,但它们通常适用于总是可见的控件,据我所知。我发现解决方案/试过是
设置固定宽度的两个按钮
我不想说,因为我不能肯定大字体将如何定。在代码
设置宽度背后
我尝试设置的btnAbort
宽度在代码隐藏。我试图在Page_Load
以及在Button_Click
处理器,显示面板
pnlConfirm.Visible = true;
btnAbort.Width = btnConfirm.Width;
然而,btnConfirm.Width
仍然是空的,即使它是可见的。
通过JavaScript设置宽度
我看来,Abortbtn
和Confirmbtn
始终为零(由于是在浏览器中添加脚本到页面的开始
<script type="text/javascript">
var Abortbtn = document.getElementById("<%= btnAbort.ClientID %>");
var Confirmbtn = document.getElementById("<%= btnConfirm.ClientID %>");
Abortbtn.style.width = Confirmbtn.style.width;
</script>
然而,从调试不可见,我假设),并且当更新UpdatePanel以显示面板时,脚本不会再次执行。
绑定width属性
我改变了btnAbort
标记到Width
属性绑定到另一个按钮
<asp:Button runat="server" Width="<%# btnConfirm.Width %>" ID="btnAbort" Text="Abort" OnClick="Abort_Clicked" />
我在Page_Load
称为Page.DataBind()
。这似乎没有改变任何东西(可能,因为btnConfirm
的宽度属性从未设置在第一位)。
现在我没有想法。可以这样做以保持控件的尺寸是动态的,还是应该将它们设置为固定宽度并使用它来完成?
好戏。这让我走上了正轨。然而'Confirmbtn.style.width'实际上并没有给我再次的宽度,我不得不使用'Abortbtn.style.width = Confirmbtn.offsetWidth +“px”;'来代替。如果你可以改变这个细节以在网站上有一个工作解决方案,那将是非常好的。 – Jens
更新了我的答案。 –