【问题标题】:embed codebehind results in javascript mvc3在javascript mvc3中嵌入代码隐藏结果
【发布时间】:2012-06-14 23:46:50
【问题描述】:

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

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

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

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

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

呼……

谢谢

这是我当前使用的实际代码块...

@函数 { 私有字符串 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

【问题讨论】:

  • 你打算用变量 test 做什么?您是否打算将纯文本作为变量 test 的值?

标签: javascript asp.net-mvc-3


【解决方案1】:

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

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

<script type="text/javascript">

 $(function(){

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

 });

</script>

您现在需要在您的MapController 中调用一个名为GetName 的Action 方法来处理这个ajax 请求。

public ActionResult GetName()
{
   return Content("mvc is awesome");
}

【讨论】:

    【解决方案2】:

    这是你想要的吗?

    var test = 'X@(getContent())';
    

    【讨论】:

      猜你喜欢
      • 2020-12-31
      • 1970-01-01
      • 2012-10-16
      • 2013-11-04
      • 2011-02-10
      • 2014-02-12
      • 1970-01-01
      • 2022-01-12
      相关资源
      最近更新 更多