Ajax开始在Partial View MVC中不能使用JQuery

时间:2014-01-07 12:06:38

标签: javascript jquery ajax asp.net-mvc

在主控制器视图中,我们加载部分视图,如下所示:                 @ Html.Partial(“MapPartial”,型号)     

在局部视图中我想渲染一张地图。目前我有一个带有提交按钮的Ajax beginform,它调用控制器动作,onSuccess将数据加载到JavaScript函数中,该函数将地图呈现如下。这很好。

<div id="map"></div>

@using (Ajax.BeginForm("GetData", "Directory", new AjaxOptions { OnSuccess = "mapInit" }))
{
    <button class="btn" type="submit">update map</button>
}

更新:好的我知道加载控制器主视图时首先加载JQuery代码/函数但是如何在选择部分视图时自动渲染地图。我不介意使用加载/进度条,可能会延迟一秒钟来渲染地图。请帮忙。

2 个答案:

答案 0 :(得分:1)

尝试使用此谷歌地图触发器。

google.maps.event.trigger(map,'resize');

其中“地图”是您的谷歌地图对象

$(document).ready(function () {
$.post('Directory/GetData',{},function(data){            
        mapInit(data);
    },"json");
function mapInit(data) {
$('#MapParial').html(data);
google.maps.event.trigger(map, 'resize');
}

});

答案 1 :(得分:0)

我不知道你想做什么,只是尝试这个帖子功能

$(document).ready(function () {
    $.post('Directory/GetData',{},function(data){            
            mapInit(data);
        },"json");
    function mapInit(data) {
    $('#MapParial').html(data);
    }
});