Ajax.ActionLink使用背景不透明度加载图像定位

时间:2012-04-04 00:49:45

标签: asp.net-mvc asp.net-ajax loading

当我点击ajax.action链接时,我想在页面中间使用背景不透明度显示加载图像。

<img id="image_loading" alt="" src="../../images/site/loading.gif" style="position: fixed;     
     display: none;" />

这是我的代码

<nav class="ust_menu">
    <ul>
         <li>@Ajax.ActionLink("Home", "Index", "Home", new AjaxOptions { UpdateTargetId = "article_site", LoadingElementId = "image_loading" })</li>
         <li>@Ajax.ActionLink("Contact Us", "Contact", "Home", new AjaxOptions { UpdateTargetId = "article_site", LoadingElementId = "image_loading" })</li>
         <li>@Ajax.ActionLink("About", "About", "Home", new AjaxOptions { UpdateTargetId = "article_site", LoadingElementId = "image_loading" })</li>    
    </ul>
</nav>

我可以显示没有背景不透明度的图像,而不是我想要的位置。 如何在背景不透明度的页面中间显示加载图像。

感谢。

1 个答案:

答案 0 :(得分:6)

使图像居中:

<img id="image_loading" alt="" src="@Url.Content("~/content/loading.gif")" class="progress" />

并在CSS文件中:

.progress {
    display: none;
    position: fixed;
    top: 50%;
    left : 50%;
    margin-top: -50px;
    margin-left: -100px;
}

现在,如果你想做一些更奇特的效果,你可以订阅OnBeginOnComplete回调,你可以更好地控制图像的显示方式:

@Ajax.ActionLink("Home", "Index", "Home", new AjaxOptions { 
    OnBegin = "onBegin",
    OnComplete = "onComplete",
    UpdateTargetId = "article_site"
})

然后:

function onBegin() {
    // TODO: show the progress image
}

function onComplete() {
    // TODO: hide the progress image
}