如何在mvc中传递具有2个值的查询字符串
Posted
技术标签:
【中文标题】如何在mvc中传递具有2个值的查询字符串【英文标题】:how to pass query string with 2 values in mvc 【发布时间】:2017-07-25 11:06:18 【问题描述】:我想在单击一行时发送两个值(经度和纬度)。这样当我单击表中的一行时,它应该重定向到网页并在谷歌地图中显示标记。我如何在查询字符串中传递动态值
代码
@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>
【问题讨论】:
试试这个。 标记 【参考方案1】:使用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.aspx中的GetLatLong方法
【讨论】:
通过这个 ajax 调用,我们可以获得单值(lat long),我在表中有一堆 lat long 值。我需要通过查询字符串(mvc)发送所有经纬度。以上是关于如何在mvc中传递具有2个值的查询字符串的主要内容,如果未能解决你的问题,请参考以下文章
如何在Spark SQL中查询StringType的1个字段具有json值的数据框