0

我有一个 mvc3 视图(map.cshtml),其中有一个 javascript 部分。

我有一个控制器(MapController.cs),它有一个返回字符串的函数。

我需要从 cshtml 页面的 javascript 区域中调用该函数,

并让它在处理和显示之前将结果直接呈现到 javascript 块中。

整个任务是为谷歌地图创建一个系列或信息窗口,并且由于数据分散在系统中,代码隐藏函数收集这些数据,并将其放入 html 代码中,我需要将此 html 代码注入到显示之前的 javascript 块。

呼...

谢谢

这是我目前正在使用的实际代码块...

@functions { 私有字符串 getContent() { 返回“测试”;} }

变量映射;

函数初始化(){ var myLatlng1 =新google.maps.LatLng(29.64032,-82.363129);var myLatlng2 = 新 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

4

2 回答 2

1

您可以在 javascript 代码中使用 jQueryajax从控制器操作中获取数据。

在您的视图(或布局视图)中包含 jQuery 库,并在您的视图中包含以下脚本(map.cshtml)。

<script type="text/javascript">

 $(function(){

    $.get("@Url.Action("GetName","Map")",function(data){
      alert("The value from server is : "+ data);
    });

 });

</script>

您需要GetNameMapControllernow 中调用一个 Action 方法来处理这个 ajax 请求。

public ActionResult GetName()
{
   return Content("mvc is awesome");
}
于 2012-06-14T15:02:52.860 回答
0

这是你想要的吗?

var test = 'X@(getContent())';
于 2012-06-14T15:46:50.367 回答