在页面加载时显示加载图像的MVC3 .net问题

时间:2017-02-16 02:26:02

标签: javascript c# jquery ajax asp.net-mvc-3

我对MVC3 .net编程&最近在我的一个内部项目中,我试图实现一个功能,在页面加载时显示加载图像。 (使用jquery函数调用。)

问题: 如果我浏览路由映射中定义的默认URL。图像没有加载,但我可以看到所有样式都在页面上填充。但是,如果我使用网页上定义的超链接导航到同一页面,图像将按预期加载。我不确定我在这里失踪了什么。 jquery load& amp; jquery-ajax请求/响应函数(超链接导航工作时默认导航不起作用)。

链接:

http://testserver/sitename - >此链接使用默认路由,其中​​图像未加载。

http://testserver/sitename/ - &gt;这是在下面定义的网页上的超链接,其中图像按预期加载。 @ Html.ActionLink(&#34; menu_item_1&#34;,&#34;索引&#34;,&#34; Home&#34;,null,new {@class =&#34; menu&#34;})< / p>

这两个链接都在呼叫同一个控制器&amp;重定向到索引视图页面。

代码:

&#13;
&#13;
     	<style type="text/css">
    	    #loader {
            position: fixed;
            left: 0px;
            top: 0px;
            width: 100%;
            height: 100%;
            z-index: 9999;
            background: url('content/themes/base/images/preloader_8.gif') 50% 50% no-repeat rgb(249,249,249);
            opacity: .8;
        }
        </style>

        <script src="@Url.Content("~/Scripts/jquery.min.js")" type="text/javascript"></script>

            <script type="text/javascript">
                $(window).load(function () {
                    $("#loader").fadeOut("slow");
                });
                $(document).ready(function () {
                    $(document).ajaxStart(function () {
                        $("#loader").show();
                    }).ajaxStop(function () {
                        $("#loader").hide();
                    });
                });
        </script>      
&#13;
&#13;
&#13;

我在索引/主页的正文中定义了以下标记,

<div id="loader"></div>

我的配置文件中的路由映射:(我不认为这里存在问题,因为我可以看到透明样式但不能看到定义的图像(preloader_8.gif)。)

    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            "Default", // Route name
            "{controller}/{action}/", // URL with parameters
            new { controller = "Home", action = "Index"} // Parameter defaults
        );

    }

0 个答案:

没有答案