我试图在JSON的部分视图内显示Google地图。我已经试过普通视图中的代码,并且它工作得很好。使用JSON在部分视图中打开Google地图
我有以下几点: -
管窥ShowMap.cshtml
@using Microsoft.Web.Helpers
<script src="~/Scripts/jquery-1.8.3.min.js"></script>
<div class="experienceRestrictedText">
@Maps.GetGoogleHtml("1, Redmond Way, Redmond, WA", width: "400", height: "400")
</div>
Index.cshtml(其中局部视图启动)
$('.modal_link_map').on('click', function (e) {
$('.modal_part').show();
var id = $(this).attr('data-id');
var context = $('#tn_select').load('/Experience/ShowMap?id=' + id, function() {
initSelect(context);
});
e.preventDefault();
return false;
});
而控制器动作是为如下: -
public ActionResult ShowMap()
{
_ItemID = Convert.ToInt32(Request.QueryString["id"]);
viewModel.ExperienceViewModel.Experience = unitOfWork.ExperienceRepository.GetByID(_ItemID);
return PartialView(viewModel);
}
我是否需要为此地图添加其他任何内容?
嗨达林,是的,这是有效的。我如何更改地址以从我的模型中传递动态地址? – Johann
很容易。你在你的模型中的一个字符串属性,你将在控制器动作中填充,然后简单地将你的局部视图强制类型化到这个视图模型,并使用模型中的值:'{address:@ Html.Raw(Json.Encode(Model .Address))}''传递给'geocode'函数。 –
非常好!我试过@ Html.Raw(Model.Address),它不起作用,这就是为什么我问。非常感谢,现在一切正常! – Johann