2012-09-23 64 views
4

后@section脚本不工作,我新手,MVC 4和jQuery Mobile和我想要做的是使用jQuery UI的地图库显示地图。MVC 4 - jQuery Mobile的 - 导航

这里就是我:

1)在页面布局我在底部的“身体的结束”之前,下面的代码标签

@Scripts.Render("~/bundles/jquery","~/bundles/jqueryui") 
@Scripts.Render("~/bundles/jquerymobile") 
@RenderSection("scripts", required: false) 

2)在索引视图我有以下动作链接

@Html.ActionLink("Display Map","Map", "Home", null, 
     new { data_role = "button", data_theme = "b", data_mini = "true" }) 

当我点击上面的动作链接,它将采取用户的位置,并将显示在谷歌地图上的标记。

在地图上查看页面我已经在底部

@section scripts{ 

    <script type="text/javascript" src="http://maps.google.com/maps/apis?sensor=false"> 
    </script> 
    <script type="text/javascript" src="@Url.Content("~/Scripts/map/demo.js")"></script> 
    @Scripts.Render("~/Scripts/map/jquery.ui.map.min.js") 
    @Scripts.Render("~/Scripts/map/jquery.ui.map.overlays.min.js") 
    @Scripts.Render("~/Scripts/map/jquery.ui.map.extensions.js") 
    $(function() { 
      //code to display the map 
     }); 
} 

在这里,下面的代码是我遇到的问题....当我点击跳转链接它会显示地图视图但没有显示地图。

如果我刷新页面(F5键或点击浏览器刷新图标),它会调用$function(),并显示在地图。

  1. 我做错了@section标记?
  2. 如何强制页面重新加载..我已经尝试做Ajax.Actionlink,或者设置cacheduration在控制器行为方法为零,仍然没有去。

我已经尝试了所有可用的问题和答案,在这个论坛上,仍然没有得到它的工作。

任何想法为什么会发生这种情况?

回答

1

誓言!我一天的大部分时间都在计算这个......我已经升级了Nuget包,以获得最新的Web.Optimization和其他DLL,但直到现在仍然是不可行的。

最后,我通过Scott Hanselman's Create a great mobile site来到acorss这篇文章。

在我阅读文章时,我遇到了这个脚本,并将它放在了我的_Layout页面中。现在我的网站工作正常....

<script type="text/javascript"> 
$(document).bind("mobileinit", function() { 
    // jQuery Mobile's Ajax navigation does not work in all cases (e.g., 
    // when navigating from a mobile to a non-mobile page), especially when going back, hence disabling it. 
    $.mobile.ajaxEnabled = false; 
    }); 
    </script> 
1

如果你想保持Ajax功能,你还可以将@RenderSection(“脚本”,必需:false)在你里面的数据角色=“页面“div