index.cshtmlに次のコードがあります。FoursquareInfoオブジェクトが作成されています。クリック数にC#razorオブジェクトが定義されていません
@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;
}
私がクリックしたときにupdateMap(fourSquareInfo)
メソッドが呼び出されindex.cshtmlのための私のhtmlコードでdiv要素を持っています。
<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
オブジェクトに何もしない - I lat
とlong
値はfoursquareInfo
ものに置き換えられますonClick
イベントが発生したときに発生するエラーを修正できます。
CanYouPayはHTMLDivElement.onclicでは定義されていませんk
html/razor/jsコードで何が問題になっていますか?
私のコメントを1として
申し訳ありませんが、私はあなたがクリック方法で得られるエラーを取得していません。 – Rex
あなたはあなたのjsにAC#オブジェクトを渡そうとしているようです。そのボタンのソースを見ると、おそらくCanYouPayを含む何らかのテキストになり、js変数として定義していないので、エラーが発生すると、jsオブジェクトを作成してC#オブジェクトの値をマップするか、一連の文字列を渡す必要があります – Pete
@Pete mmhが可能です – Smut