2014-02-06 27 views
0

在我的ASP.NET MVC 5网站我有一个devexpress navbar多个itens,每个项目有一个唯一的控制器,总是当我点击一个项目的索引行动的调用相应的控制器。在ASPNET MVC的索引动作显示加载面板MVC

public ActionResult Index() 
{ 
    //Load large data and return it into a gridview. 
} 

虽然IM加载这些数据我想显示加载面板,但我不知道在哪里可以使用MVC做到这一点,在ASPNET的WebForms它更容易做这样的事情。

任何MVC专家可以帮助我呢?

回答

1

内,您的看法,你想用我阿贾克斯形式,并指向您的LoadingElementId在它的定义。 下面是一个例子:

@using (Ajax.BeginForm("FilterNews", "News", null, 
new AjaxOptions { HttpMethod = "POST", UpdateTargetId = "container", LoadingElementId = "custom-loading" })) 
{ 
<div id='container'> 
    //Your helpers @Html.TextBoxFor(x => x.....) or render a partial 
</div> 
} 
<style> 
.loading{ 
position:absolute; 
width:100%, 
height:100%, 
top:0, 
left:0, 
background:white, 
} 
</style> 
<div id="custom-loading" class="loading">Loading..Please wait...</div> 

此外,如果你想显示每一个XHR呼叫U A装载机可以设置粘合剂上ajaxSend事件是这样的:

<div id="ajax-loader-element"> 
    <img src="@Url.Content("~/Content/Images/ajax-loader.gif")"/> 
</div> 

<script type="text/javascript"> 
    jQuery(document).ready(function() { 
     jQuery(document).bind("ajaxSend", function() { 
      jQuery('#ajax-loader-element').show(); 
     }).bind("ajaxComplete", function() { 
      jQuery('#ajax-loader-element').hide(); 
     }); 
    }); 
</script>