我想在单击一行时发送两个值(经度和纬度(。 这样当我单击表中的行时,它应该重定向到网页并在谷歌地图中显示标记。如何在查询字符串中传递动态值
法典
@model List<smartpond.Models.AssetDetailsViewModel>
@{
ViewBag.Title = "Details";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<div>
<table>
<tbody>
@foreach (var device in Model.Select(x => x.deviceid).Distinct().ToList())
{
foreach (var item in Model.Where(x => x.deviceid == device).Select((value, i) => new { i, value }))
{
<tr class="tr_@item.value.deviceid">
<td>@(item.i + 1)</td>
<td>@item.value.deviceid</td>
<td><a href="@Url.Action("Marker", "Tracker")">@item.value.latitude</a></td>
<td><a href="@Url.Action("Marker", "Tracker")">@item.value.longitude</a></td>
<td>@item.value.time</td>
<td>@item.value.battery</td>
</tr>
}
}
</tbody>
</table>
</div>
使用javascript,
$("tr").click(function() {
var tableData = $(this).children("td").map(function() {
return $(this).text();
}).get();
var latitude= $.trim(tableData[3]);
var longitude= $.trim(tableData[4]));
//3 for latitude and 4 for longitude
//then use ajax to pass parameter to function
$.ajax({
type: 'POST',
url: 'myWebForm.aspx/GetLatLong',
contentType: 'application/json; charset=utf-8',
data: { lat: latitude, long: longitude },
dataType: 'json',
success: {},
error: {}
});
它将在myWebForm中点击GetLatLong方法.aspx