[英]Write JavaScript code in MVC Razor foreach loop
我想將javascript代碼嵌入剃須刀代碼中。 我嘗試了以下內容-
<tbody>
@foreach (var row in ViewBag.Retailers.Rows) //Retailers is a datatable
{
<tr>
<td>@row["RegionName"].ToString()</td>
</tr>
<script>
var marker=new Object();
marker.lat=@row["Latitude"].ToString();
marker.lon=@row["Longitude"].ToString();
markersArray.push(marker);
</script>
}
</tbody>
但是,它不起作用。 有什么幫助嗎?
使用JavaScript混用剃須刀,你需要在單引號剃刀代碼'
是這樣的:
<script>
var marker=new Object();
marker.lat='@row["Latitude"].ToString()';
marker.lon='@row["Longitude"].ToString()';
markersArray.push(marker);
</script>
我建議您避免生成所有這些內聯腳本,而應將值添加為行的數據屬性
<tbody id="retailers">
@foreach (var row in ViewBag.Retailers.Rows) //Retailers is a datatable
{
<tr data-latitude="@row["Latitude"]" data-longitude="@row["Longitude"]">
<td>@row["RegionName"].ToString()</td>
</tr>
}
</tbody>
然后有一個腳本來構建數組
var markersArray = [];
$('#retailers tr').each(function() {
markersArray.push({ lat: $(this).data('latitude'), lon: $(this).data('longitude') });
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.