1

ビューでかみそり構文を使用してasp.net mvcを初めて使用し、jQueryルーチン内でモデルオブジェクトを使用してimg srcを設定する方法を知りたいですか?

例:

 setSourceImage()
    {
       @foreach(var myPaths in Model)
       {
        @: jQuery('#sampleImage').attr('src',myPaths.imgPath)
       }
    }

構文が間違っていることはわかっていますが、ある意味でそれが私が達成したいことです。

ありがとう。

4

1 に答える 1

0

はい、構文が間違っています。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。この場合、ビューをレンダリングする前に、サーバー上でこのプロパティを変換する必要があります。

于 2013-03-18T07:07:24.817 に答える