【发布时间】:2017-05-23 09:29:34
【问题描述】:
我的 index.cshtml 中有以下代码,其中创建了一个 FoursquareInfo 对象。
@using WebMatrix.Data;
@using CanYouPay.Models.FoursquareAPI;
@{
FoursquareInfo fsInfo = new FoursquareInfo();
Checkins response = new Checkins();
Checkin checkins = new Checkin();
List<RootItem> items = new List<RootItem>();
RootItem item = new RootItem();
Venue venue = new Venue();
Location loc = new Location();
loc.lat = 51.19189444478925;
loc.lng = 4.664656084372357;
venue.location = loc;
item.venue = venue;
items.Add(item);
checkins.items = items;
response.checkins = checkins;
fsInfo.response = response;
}
我在 index.cshtml 的 html 代码中有一个 div,点击时会调用 updateMap(fourSquareInfo) 方法。
<div id="mapBtn" onclick="updateMap(@fsInfo)" class="btn btn-success btn-lg col-md-2 pull-right">Show Map!</div>
我的updateMap 函数是:
function updateMap(foursquareInfo) {
var uluru = { lat: 20, lng: 30 };
var map = new google.maps.Map(document.getElementById('googleMap'), {
zoom: 4,
center: uluru
});
var marker = new google.maps.Marker({
position: uluru,
map: map
});
}
是的,出于测试目的,我不会对传递的 foursquareInfo 对象执行任何操作 - 当我可以修复收到的错误时,lat 和 long 值将被 foursquareInfo onClick 事件发生:
CanYouPay 未在 HTMLDivElement.onclick 中定义
我的 html/razor/js 代码有什么问题?
【问题讨论】:
-
对不起,我没有收到您在点击方法上遇到的错误。
-
看起来您正在尝试将 ac# 对象传递到您的 js - 如果您在该按钮上查看源代码,它可能会是一些文本,包括
CanYouPay并且您尚未将其定义为一个js变量,它会抛出一个错误,你要么需要创建一个js对象并将你的c#对象值映射到它,要么传递一堆字符串 -
@Pete mmh 这是可能的
-
@Pete 你知道如何实现吗?
-
我会添加一个答案
标签: javascript c# jquery asp.net-mvc razor