私はAjaxフォームを送信した後にJavascript関数呼び出しを返す部分ビューを持っています。住所のリストを取得し、Javascript関数を呼び出してジオコードし、マーカーをGoogle Mapに配置します。次のコードをコンパイルすると、ForEach行のvarを中心に「条件付きコンパイルがオフになっています」というエラーが表示されます。ASP MVC Razor foreach in Javascriptブロック
@model IEnumerable<TestStore.Models.Address>
@if (Model.Count() > 0)
{
<script type="text/javascript">
deleteMarkers();
@foreach(var item in Model)
{
codeAddress('@item.GetAddress');
}
</script>
}
私は、コードの周りいじると、次のコンパイルエラーが発生することなく作業を行います。
@if (Model.Count() > 0)
{
<script type="text/javascript">
deleteMarkers();
</script>
foreach (var item in Model)
{
<script type="text/javascript">
codeAddress('@item.GetAddress');
</script>
}
}
議論のために、私はJavascriptの機能の多くは、ループ内の呼び出しを行う長くロジックを持っている場合は、私は、1つのスクリプトブロックの中にすべてを囲むことを好むでしょう。私はStack Overflowの周りを検索しました。そして、Razorの構文がスクリプトブロック内に入るように見えますが、私の例のようにどのように見えるのかわかりません。