ボタンがクリックされたときに jQuery UI ダイアログに表示される非表示の .Net ユーザー コントロール (hidden.ascx) を含む Asp.Net Web フォーム ページがあります。これで、IE9 と Chrome で問題なく動作します。
ただし、IE8 では、ダイアログは中央に配置されるのではなく、ページの下部に押し出されます。
IE7 では、ダイアログは中央に配置されていますが、読み取り専用です (ダイアログ内のすべてのコントロールが読み取り専用であるという点で...右上隅の「x」をクリックしてダイアログを閉じることもできません - 基本的にページ全体が使用できません)。ページを更新するまで)。
jQuery 1.5.1とjQuery UI 1.8.11を使用しており、コア、ダイアログ、位置、およびウィジェットの参照を追加するようにしました。
非表示のユーザー コントロールを表示する jQuery 呼び出しを次に示します。
$('#button').click(function(){
showUserControl();
});
function showUserControl(){
var d = $('#container').dialog({
modal: true,
position: 'center',
autoOpen: false,
title: 'show .net user control',
width: 500,
show: 'puff',
}).height('auto');
d.dialog("open");
}
hidden.ascx コントロールの一部を次に示します (この投稿用に簡略化しています)。
<fieldset id="container" class="layoverForm" style="display: none">
<div id="status">
<asp:ValidationSummary ID="vsErrors" ValidationGroup="audit" ShowSummary="true" DisplayMode="BulletList" runat="server" />
</div>
<div class="row">
<span class="label">Choose One:<b>*</b></span>
<span class="control">
<asp:DropDownList ID="cboPickList" ValidationGroup="audit" runat="server"></asp:DropDownList>
<asp:RequiredFieldValidator ID="rfvPickList" ValidationGroup="form" ControlToValidate="cboPickList" InitialValue="" Display="None" Text="*" runat="server" ErrorMessage="Please choose one."></asp:RequiredFieldValidator>
</span>
</div>
<div class="row">
<asp:Button ID="btnSubmit" Text="Submit" runat="server" />
</div> </fieldset>
ご覧のとおり、かなり単純なものです。ただし、この問題を回避する方法を見つけることができないようですので、助けていただければ幸いです。