ページにマップがあり、マーカーをクリックすると、次のような RptVendedorController のアクション バロンに移動します。
public ActionResult Balloon( int id,string tipoPin , bool clienteCompleto)
私がこのように作成するマーカーのURLについて
Url.Action("Balloon", "RptVendedor", new { id = cliente.ClienteId, tipoPin = "clientes", clienteCompleto = true }) }
サーバー側でこれを与える
url:/RptVendor/Balloon/4?tipoPin=clientes&clienteCompleto=True
私の問題は、何らかの理由でURLが変更され、マーカーをクリックすると、これが取得した(下にある)URLであり、(amp;)を追加するため、クエリでclientecompletoを適切にフォーマットしていないため、アクションにヒットしないことですストリング
Request URL:http://localhost:10657/RptVendedor/Balloon/4?tipoPin=clientes&clienteCompleto=True
(amp;)を追加する理由がわからないのですか?
編集
私はviewModelに入れました
Globo = new MostrarMapaGlobo { Ancho = 400, Alto = 200, Url = Url.Action("Balloon", "RptVendedor", new { id = cliente.ClienteId, tipoPin = "clienteGeografico" }) }
そして部分的なビューで
@foreach (var pin in Model.Pines)
{
<text>
var marker = new google.maps.Marker({
position: new google.maps.LatLng(@pin.Posicion.Latitud, @pin.Posicion.Longitud),
map: map,
title: '@pin.AltText',
icon: new google.maps.MarkerImage('@Html.Raw(pin.Icono.Replace("[color]", pin.Color.Substring(1)))'),
@if (pin.Click)
{
@:clickable: true,
}
else
{
@:clickable: false,
}
@if(pin.Movil)
{
@:draggable: true,
}
else
{
@:draggable: false,
}
@if (!string.IsNullOrWhiteSpace(pin.Globo.Extras))
{
@pin.Globo.Extras@:,
}
ancho: '@pin.Globo.Ancho' + 'px',
alto: '@pin.Globo.Alto' + 'px',
url: '@pin.Globo.Url',
contenido: '@pin.Globo.Contenido'
});
oms.addMarker(marker);
markers.push(marker);
</text>
if (Model.Ruta != null && pin.Ruta)
{
@:posiciones.push(new google.maps.LatLng(@pin.Posicion.Latitud, @pin.Posicion.Longitud));
}
}