はい、構文が間違っています。Json.Encode
メソッドを使用して、関心のあるモデルのプロパティを安全にシリアル化することをお勧めします。
<script type="text/javascript">
function setSourceImage() {
var imageSources = @Html.Raw(Json.Encode(Model.Select(x => x.imgPath)));
for (var i = 0; i < imageSources.length; i++) {
jQuery('#sampleImage').attr('src', imageSources[i])
}
}
</script>
次のようにレンダリングされます。
<script type="text/javascript">
function setSourceImage() {
var imageSources = ['/images/img1.jpg', '/images/img2.jpg'];
for (var i = 0; i < imageSources.length; i++) {
jQuery('#sampleImage').attr('src', imageSources[i])
}
}
</script>
明らかにこれが機能するにimgPath
は、モデルのプロパティにサーバー上の画像への絶対または相対 URL が含まれている必要があります。のような画像の物理的な場所を含めないでくださいc:\inetpub\wwwroot\myapp\images\img1.jpg
。この場合、ビューをレンダリングする前に、サーバー上でこのプロパティを変換する必要があります。