0

我在aspx.net中編寫了這段代碼,它運行良好,但是當寫入內容頁面時,它不會。有人知道爲什麼嗎? 注意:我使用Artem GoogleMap控件並在其上設置圖釘,然後獲取其位置。爲什麼此代碼不能在內容頁面中工作?

<asp:ScriptManager ID="ScriptManager1" runat="server"> 
</asp:ScriptManager> 
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 
<artem:GoogleMap ID="GoogleMap1" runat="server" 
    EnableMapTypeControl="False" MapType="Roadmap" >   
</artem:GoogleMap>  
<artem:GoogleMarkers ID="GoogleMarkers1" runat="server" 
    TargetControlID="GoogleMap1" onclientpositionchanged="handlePositionChanged"> 
</artem:GoogleMarkers> 
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> 
<asp:Label ID="Label2" runat="server" Text="Label"></asp:Label> 
<asp:HiddenField ID="Hidden1" runat="server" /> 
<asp:Button ID="Button2" runat="server" Text="Button2" onclick="Button2_Click" /> 
<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
    <ContentTemplate> 
    <asp:Button ID="Button1" runat="server" Text="Split" onclick="Button1_Click" /> 
    <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox> 
    </ContentTemplate> 
</asp:UpdatePanel> 

<script type="text/javascript"> 
    var list = document.getElementById("Label1"); 
    function handlePositionChanged(sender, e) { 
    printEvent("Position Changed", sender, e); 
    } 
    function printEvent(name, sender, e) { 
    var position = e.latLng || sender.markers[e.index].getPosition(); 
    document.getElementById('Label1').innerHTML = position.lat(); 
    document.getElementById('Label2').innerHTML = position.lng(); 

    document.getElementById('<%= Hidden1.ClientID %>').value = position.lat(); 

    } 
</script> 


protected void Page_Load(object sender, EventArgs e) 
{ 
    this.GoogleMap1.MapType = Artem.Google.UI.MapType.Roadmap; 
    this.GoogleMap1.Zoom = 12; 
    if (!Page.IsPostBack) 
    { 
     GoogleMaps.LocationServices.GoogleLocationService obj = new GoogleMaps.LocationServices.GoogleLocationService(); 

     GoogleMaps.LocationServices.AddressData add = new GoogleMaps.LocationServices.AddressData(); 
     add.City = "somewhere"; 
     add.Country = "somewhere"; 
     GoogleMaps.LocationServices.MapPoint mp = new GoogleMaps.LocationServices.MapPoint(); 
     mp.Latitude = 29.6248771158687; 
     mp.Longitude = 52.5227701663971; 
     double x = mp.Latitude; 
     GoogleMaps.LocationServices.MapPoint pt = obj.GetLatLongFromAddress(add); 
     GoogleMap1.Latitude = mp.Latitude; 
     GoogleMap1.Longitude = mp.Longitude; 
    } 
} 

protected void Button1_Click(object sender, EventArgs e) 
{ 
    TextBox2.Text = Hidden1.Value; 
} 

protected void Button2_Click(object sender, EventArgs e) 
{ 
    string add = TextBox1.Text; 
    GeoRequest request = new GeoRequest(add); 
    GeoResponse response = request.GetResponse(); 
    GeoLocation location = response.Results[0].Geometry.Location; 
    double latitude = location.Latitude; 
    double longitude = location.Longitude; 
    GoogleMap1.Latitude = latitude; 
    GoogleMap1.Longitude = longitude; 

    Artem.Google.UI.Marker mk1 = new Artem.Google.UI.Marker(); 
    mk1.Draggable = true; 
    mk1.Address = add; 
    GoogleMarkers1.Markers.Add(mk1); 
} 

更新: 我改變這部分代碼和它的作品,但不知道爲什麼:

document.getElementById('<%= Label1.ClientID %>').innerHTML = position.lat(); 
+0

什麼是「list」變量?沒有什麼是指它。 – Pointy

+0

另外,究竟**有哪些錯誤?這些功能如何被調用?哪裏?什麼時候? – Pointy

+1

將它寫入內容頁面是什麼意思? – Erwin

回答

0

我認爲你需要添加的ScriptManager標籤在母版頁的ScriptManagerProxy標籤在contetn頁。

+0

它沒有解決我的問題,但感謝您的回覆。 –

相關問題