我正在尝试创建一个带有来自数据库的纬度和经度标记的 map 。使用数据库中的 Lat 和 Lng,我试图将其传递给 javascript 文件。
此代码来自 aspx.cs 并获取变量 Lat 和 Lng。我创建了标签 lblLat 和 lblLng 只是为了在页面上查看它是否获得了正确的数据。
这是来自 aspx.cs 的代码:
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.AppSettings["ConnectionCarpool"]);
DataRow dr = ExecuteDataSet(("SELECT Lat, Lng FROM Users Where UserID=1").ToString()).Tables[0].Rows[0];
Mapa prd = new Mapa();
prd.Lat = dr["Lat"].ToString();
prd.Lng = dr["Lng"].ToString();
lblLat.Text = prd.Lat;
lblLng.Text = prd.Lng;
conn.Close();
}
在我的 Javascript 文件中,它显示了 map ,但没有显示带有纬度和经度的标记。零件标记是它应该在文件 aspx.cs 上获取“Lat”和“Lng”的地方。 “position: new google.maps.LatLng(41, -8)”部分工作正常,但在“position: new google.maps.LatLng("Lat", "Lng")"部分是我想要获取的来自 aspx.cs 数据库的数据。在 aspx.cs 文件中,它获取了正确的数据,但现在我只是想找到一种方法将该数据传递给 Javascript 文件中的 Lat 和 Lng。
这是我的 Javascript 代码:
函数初始化(){
var latlng = new google.maps.LatLng(41.563059,-8.624268);
var myOptions = {
zoom: 7,
mapTypeId: google.maps.MapTypeId.ROADMAP,
center: latlng
}
var map = new google.maps.Map(document.getElementById("map"), myOptions);
var marker = new google.maps.Marker({
//position: new google.maps.LatLng(41, -8),
position: new google.maps.LatLng("Lat", "Lng"),
map:map
});
谁能帮我解决这个问题?我真的很感激。谢谢!
最佳答案
你可以放置
<input type=hidden />
页面上的控件,并用 Lat 和 Lng 的值填充它们。然后使用 javascript 阅读它。
关于c# - 如何将变量从 asp.net 传输到 Javascript 中的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8450194/