我有一个mvc3视图(map.cshtml),里面有一个javascript部分。
我有一个控制器(MapController.cs),它有一个返回字符串的函数。
我需要在cshtml页面的javascript区域内调用该函数,
并在处理和显示之前将结果直接渲染到javascript块中。
整个任务是为谷歌地图创建一个系列或信息窗口,并且由于数据分布在系统周围,代码隐藏功能收集这些数据,并将其放入html代码,我需要这个HTML代码在显示之前注入javascript块。
嗯...
感谢
这是我目前使用的实际代码块...
@functions { 私有字符串getContent() { 返回“测试”; } }
var map;
function initialize(){ var myLatlng1 = new google.maps.LatLng(29.64032,-82.363129); var myLatlng2 = new google.maps.LatLng(29.64032,-81.363129);
var myOptions = {
zoom: 10,
center: myLatlng1,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById('map_canvas'), myOptions);
var test = 'X@{getContent();}';
所以 - 在var测试中......我希望它能阅读.... Xtesting
答案 0 :(得分:1)
您可以在javascript代码中使用jQuery ajax
从Controller操作中获取数据。
在视图(或布局视图)中包含jQuery库,并在视图中包含以下脚本(map.cshtml)。
<script type="text/javascript">
$(function(){
$.get("@Url.Action("GetName","Map")",function(data){
alert("The value from server is : "+ data);
});
});
</script>
您现在需要在GetName
中使用名为MapController
的Action方法来处理此ajax请求。
public ActionResult GetName()
{
return Content("mvc is awesome");
}
答案 1 :(得分:0)
这是你想要的吗?
var test = 'X@(getContent())';