私はbtnConfirm
とbtnAbort
という2つのボタンを持つASP.NETページを持っています。 btnConfirm
の幅は設定されていないため、自動的にサイズに合わせて調整されます。
btnAbort
の幅をbtnConfirm
としたいと思います。自動サイズ調整された別のボタンと一致するようにボタンの幅を調整します
問題:どちらのボタンも初期状態では表示されませんpanel
これはアップデートパネルのボタンをクリックすると表示されます。つまり、最初はボタンがページに存在しません。
解決策はありますが、通常は表示されているコントロールに適用されます。私が見つけたソリューション/しようとした両方のボタンに
設定された固定幅
ている私はあることを行っている方法を大きなフォントを確認することはできませんので、私は、それを望んでいません。私はコードビハインドでbtnAbort
の幅を設定しようとした
の背後にあるコードで
設定幅。 Iは、Page_Load
ならびにパネル
pnlConfirm.Visible = true;
btnAbort.Width = btnConfirm.Width;
しかし、btnConfirm.Width
は、それが表示されている場合でも、依然として空であることを示しButton_Click
ハンドラにそれを試してみました。 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>
にスクリプトを追加invisible私は推測する)、UpdatePanelがパネルを表示するように更新されたときにスクリプトは再度実行されない。
は
widthプロパティをバインド私はPage_Load
でPage.DataBind()
と呼ばれる他のボタンにWidth
プロパティをバインドする
<asp:Button runat="server" Width="<%# btnConfirm.Width %>" ID="btnAbort" Text="Abort" OnClick="Abort_Clicked" />
をbtnAbort
マークアップを変更しました。これは何も変更していないようです(おそらく、最初にWidthプロパティbtnConfirm
が設定されていないためです)。
今私はアイデアがありません。これはコントロールのサイズを動的に保つために行うことができますか?固定幅に設定し、それを使って終了する必要がありますか?
素晴らしいトリックです。これは正しい軌道に乗った。しかし、 'Confirmbtn.style.width'は実際に私に幅をもう一度与えませんでした。代わりに' Abortbtn.style.width = Confirmbtn.offsetWidth + "px"; 'という行を使用しなければなりませんでした。この詳細を変更して現場で実用的な解決策を得ることができれば素晴らしいだろう。 – Jens
私の答えを更新しました。 –