2011-01-04 17 views
2

ドロップダウンリストを変更すると、部分的に表示されるtelerikツリーがロードされ、ツリーコンテンツにajax読み込みバーが表示されますのみ。しかし、コンテンツが読み込まれている間にページを無効にしたい(ユーザーはページを使用することはできませんが、ページが表示されるはずです)、ユーザーには "読み込み中....."という画面が表示されます。あなたはLoadingElementIdと呼ばれるAjaxOptionに建て使用することができます(というよりも、jqueryの)バックあなたのAJAX呼び出しを行うためにMVCのAjax.BeginFormを使用する場合は部分ビュー(AJAX)読み込み時にページを非表示にする

答えて

3

を利用することができます。欠点は、$.ajax()の代わりにフォームを使用して投稿する必要があることです。フォームでは、非表示のボタンが必要で、ドロップダウンのonchangeイベントはフォームデータを非表示のフィールドに作成し、非表示のボタンにクリックイベントを発行する必要があります。

他のアプローチは、このようにdiv要素を投げることです。この

#loading-pane { display:none; opacity: 0.8; position: fixed; top: 0; left: 0; 
    width: 100%; height: 100%; filter: alpha(opacity=80); -moz-opacity: 0.8; 
    z-index: 999998; background-color: #ffffff; } 
#loading-pane img { position: absolute; top: 40%; left: 47%; z-index: 999999; } 

よう

<div id="loading-pane"> 
    <img src='<%: Url.Content("~/Content/Images/ajax-loader.gif") %>' /> 
</div> 

とCSSは、この

$('#MyDropDown').change(function() { 
    $('#loading-pane').show(); 

    $.ajax({ 
     success: function() { 
      $('#loading-pane').hide(); 
     } 
    }); 
}); 
+0

読み込み中のコンテンツではなくページを無効にしたい。 – sunny

+0

これは、ページの上に読み込み画面を置き、ユーザーが対話できないようにします。画像を残して、cssで不透明度を0に設定すると、目に見えない読み込み画面になります。 – Josh

2

おそらく、あなたはBlockUI

+0

ようなものがgood.I意志サウンズ確かにそれを試してみてください。 – sunny

関連する問題