0

ページにマップがあり、マーカーをクリックすると、次のような 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));                            
            }
        }   
4

1 に答える 1