Javascript 将参数传递给Url.Action
这是我的javascript函数:Javascript 将参数传递给Url.Action,javascript,asp.net,parameters,google-api,infowindow,Javascript,Asp.net,Parameters,Google Api,Infowindow,这是我的javascript函数: function addMarker(x, y, meas_type, meas_status, meas_key) { var location = new google.maps.LatLng(x, y); var contentString = '<h3 >' + meas_type + '</h3>' + '<p>Status: ' + '<span style=
function addMarker(x, y, meas_type, meas_status, meas_key) {
var location = new google.maps.LatLng(x, y);
var contentString = '<h3 >' + meas_type + '</h3>' + '<p>Status: ' + '<span style="color: red">' + meas_status + '</span>' + '</p>' + '<input type="button" class="btn btn-default" value="Details" onclick="window.location.href=\'@Url.Action("Index", "Home", new { param = meas_key})\';" />' + ' ';
var marker = new google.maps.Marker({
position: location,
map: map,
});
var infowindow = new google.maps.InfoWindow({
content: contentString
});
google.maps.event.addListener(marker, 'click', function () {
infowindow.open(map, marker);
});
}
功能添加标记(x、y、测量类型、测量状态、测量键){
var location=new google.maps.LatLng(x,y);
var contentString=''+meas_类型+'+'状态:'+''+meas_状态+'+''++';
var marker=new google.maps.marker({
位置:位置,,
地图:地图,
});
var infowindow=new google.maps.infowindow({
内容:contentString
});
google.maps.event.addListener(标记,'click',函数(){
信息窗口。打开(地图、标记);
});
}
现在在contentString变量中,我想将索引方法meas_key作为参数传递给它!我怎么做?它不是这样工作的
这一个工作正常,但我需要发送meas_key作为参数:
var contentString = '<h3 >' + meas_type + '</h3>' + '<p>Status: ' + '<span style="color: red">' + meas_status + '</span>' + '</p>' + '<input type="button" class="btn btn-default" value="Details" onclick="window.location.href=\'@Url.Action("Index", "Home")\';" />' + ' ';
var contentString='+meas_类型+'+'状态:'+'+meas_状态+'+''+'+';
这里的问题是@Url.Action
是在服务器端完成的,当然没有办法在服务器端传递javascript变量。因此,您可能需要执行以下操作:
var url = '@Url.Action("Index", "Home")' + '?param=' + meas_type;
var contentString =
'<h3 >' + meas_type + '</h3>'
+ '<p>Status: ' + '<span style="color: red">' + meas_status + '</span>' + '</p>'
+ '<input type="button" class="btn btn-default" value="Details" onclick="window.location.href=' + url + '" />'
+ ' ';
var url='@url.Action(“Index”,“Home”)'+'?param='+meas_type;
var contentString=
“+表示类型+”
+状态:“+”+表示状态+“+””
+ ''
+ ' ';
你可能想考虑某种模板来让这个HTML结构更可读。
我认为URL后面有一个“+”缺失,但是不管怎么说,当我点击按钮时,都没有动作。@ CAJ,尝试调试URL,甚至整个代码< Cordon Studio >,或者至少把它输出到控制台或提醒他们。它们看起来对吗?contentString中的window.location.href有一个值:/Home/Index?param=9我想我们只需要用“我试过了,但没有用:var url=“\”@url.Action(“MeasDetails”,“Home”)+”?param='+meas\u key;\'“var url=“\'@url.Action(“MeasDetails”,“Home”)”+'?param='+meas\u key+”代码>