ส่วนในการทำงานสอดประสานกันระหว่าง Asp.net และ jquery นั้น
ยังค่อนข้างจะยุ่งยากกับมือใหม่พอสมควร เพราะต้องใช้หลายๆความรู้มาเชื่อมต่อกัน
ส่วนตัวนั้นแนะนำให้ฝุกทีละส่วน asp.net HTML DOM JAVASCRIPT และ JQuery
จากนั้นจึงมาเชื่อมต่อกัน และมั่นใจว่าจะทำงานในสาย programming ต่อไปแล้ว jQuery เป็นตัวเลือกที่ดีมาก
AJAXTOOLKIT
===========
ปัจจุบันนั้น AjaxToolkit ถูก DevExpress ซื้อไปเป็นที่เรียบร้อย
จะด้วยราคาถูกหรือ Microsoft ขี้เกียจทำแล้ว อะไรสักอย่าง หรือทั้งคู่
ก็ยังคงเหมาะที่จะเรียนรู้ในระดับหนึ่ง มันเพียงพอสำหรับงานทั่วไป
และความเร็วในการตอบสนองยังดีกว่า tradition asp.net ครับ
Public Class uctrlLoad_Dynamic_MAP
Inherits System.Web.UI.UserControl
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim upn As UpdatePanel = Me.Parent.FindControl("upnMainMenu")
If upn IsNot Nothing Then
Dim sb As New StringBuilder()
sb.Append("function pageLoad() {")
sb.Append(" alert('หอยหอมน้อย');")
sb.Append("}")
ScriptManager.RegisterClientScriptBlock(upn, upn.GetType(), "หอยหอมมาก", jsGoogleMAP_API3(), True)
End If
End Sub
'
'http://html5demos.com/geo
'
Private Function jsGoogleMAP_API3() As String
Dim js As XCData =
<![CDATA[
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(success, error);
} else {
error('not supported');
}
function success(position) {
var s = document.querySelector('#status');
if (s.className == 'success') {
// not sure why we're hitting this twice in FF, I think it's to do with a cached result coming back
return;
}
s.innerHTML = "GPS --> เอ็งอยู่ที่นี่ found you!";
s.className = 'success';
var mapcanvas = document.createElement('div');
mapcanvas.id = 'mapcanvas';
mapcanvas.style.height = '500px';
mapcanvas.style.width = '99%';
document.querySelector('article').appendChild(mapcanvas);
var latlng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
var myOptions = {
zoom: 15,
center: latlng,
mapTypeControl: false,
navigationControlOptions: { style: google.maps.NavigationControlStyle.SMALL },
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("mapcanvas"), myOptions);
var marker = new google.maps.Marker({
position: latlng,
map: map,
title: "You are here! (at least within a " + position.coords.accuracy + " meter radius)"
});
google.maps.event.addListener(marker, 'click', function (event) {
alert("หอยหอมคลิ๊ก marker จะทำอะไรก็ว่ากันไป");
//placeMarker(event.latLng);
//document.getElementById(lat).value = marker.position.lat();
//document.getElementById(lng).value = marker.position.lng();
});
}
function error(msg) {
var s = document.querySelector('#status');
s.innerHTML = typeof msg == 'string' ? msg : "failed";
s.className = 'fail';
// console.log(arguments);
}
]]>
Return js.Value
End Function
End Class