2016-02-17 102 views
0

我有一个C#Web应用程序(asp.net网页形式)与Default.aspx页面内的以下内容是母版页的一部分。然而,谷歌地图从不加载,实际上它闪烁一次。但是,如果我将当前的确切代码置于Content2之内,但将其置于.HTML文件中,地图加载就会很好。ASP.NET中的谷歌地图不加载

我按了F12,控制台上没有错误。这是为什么发生?

的Default.aspx:

<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1.Default" %> 
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"> 
</asp:Content> 
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> 

<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?v=3&libraries=geometry"></script> 
<button onclick="initMap()">Load map</button><br/> 
<br /><div id="map" style="width:500px; height: 500px;"></div>  

<script type="text/javascript"> 
    function initMap() { 
     var map = new google.maps.Map(document.getElementById('map'), { 
      zoom: 12, 
      center: new google.maps.LatLng(25.764116354703514, -80.19015369262695) 
      }); 

     //Dragable Marker 
     var marker0 = new google.maps.Marker({ 
      map: map, 
      position: new google.maps.LatLng(25.764116354703514, -80.19015369262695), 
      draggable: true 
      }); 

     }  
    </script> 
</asp:Content> 

输出的屏幕截图后点击 “加载地图” 按钮:

enter image description here

+0

是什么在你的浏览器的标记是什么样子? ASP.NET生成的HTML可能与您所期望的不同。 – jrummell

+0

@mason:你指的是哪个ID?我没有在这里使用任何服务器端组件,这应该纯粹在浏览器端加载,没有任何服务器端事务 –

+0

尝试使用样式#map {position:absolute; z-index:10000; }如果地图出现,问题是您的母版页布局。 – davcs86

回答

1

你在的演技像一个形式的按钮提交按钮,这会导致页面刷新。如果您未指定该按钮的类型,则默认为submit按钮,导致表单提交并重新加载页面。

您的按钮标记更改为:

<button type="button" onclick="initMap()">Load map</button>